commit e738db98b9b10f92d705e5bf2f0ef63e6c1eec2f Author: Zomatree Date: Mon Oct 20 14:41:17 2025 +0100 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6aa1064 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/target/ +**/*.rs.bk +Cargo.lock diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..e1a08df --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,761 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/Address.md +docs/Amount.md +docs/AmountNullable.md +docs/BalanceReportGrouping.md +docs/BalanceStatus.md +docs/BalanceTransactionType.md +docs/BalanceTransferCategory.md +docs/BalanceTransferCategoryResponse.md +docs/BalanceTransferDestinationType.md +docs/BalanceTransferFrequency.md +docs/BalanceTransferPartyType.md +docs/BalanceTransferPartyTypeResponse.md +docs/BalanceTransferStatus.md +docs/BalanceTransferStatusReason.md +docs/BalanceTransferStatusReasonResponse.md +docs/BalanceTransfersApiApi.md +docs/BalancesApiApi.md +docs/BillingAddress.md +docs/CancelPaymentRequest.md +docs/CapabilitiesApiApi.md +docs/CapabilityRequirementStatus.md +docs/CapabilityStatus.md +docs/CapabilityStatusReason.md +docs/CaptureMode.md +docs/CaptureModeResponse.md +docs/CaptureResponse.md +docs/CaptureStatus.md +docs/CapturesApiApi.md +docs/ChargebacksApiApi.md +docs/ClientLinksApiApi.md +docs/ClientsApiApi.md +docs/ComponentsSubTotals.md +docs/CreatePaymentLinkRequest.md +docs/CreatePaymentLinkRequestApplicationFee.md +docs/CreatePaymentLinkRequestLinks.md +docs/CreateWebhook.md +docs/CreateWebhookRequest.md +docs/Currencies.md +docs/CustomerResponse.md +docs/CustomersApiApi.md +docs/DelayedRoutingApiApi.md +docs/DeleteValuesSalesInvoice.md +docs/DeleteWebhookRequest.md +docs/EnableMethodIssuer200Response.md +docs/EnableMethodIssuerRequest.md +docs/EntityBalance.md +docs/EntityBalanceLinks.md +docs/EntityBalanceReport.md +docs/EntityBalanceReportTotals.md +docs/EntityBalanceReportTotalsAvailableBalance.md +docs/EntityBalanceReportTotalsOpen.md +docs/EntityBalanceReportTotalsPayments.md +docs/EntityBalanceReportTotalsPendingBalance.md +docs/EntityBalanceTransaction.md +docs/EntityBalanceTransactionContext.md +docs/EntityBalanceTransactionContextApplicationFee.md +docs/EntityBalanceTransactionContextCapture.md +docs/EntityBalanceTransactionContextChargeback.md +docs/EntityBalanceTransactionContextInvoiceCompensation.md +docs/EntityBalanceTransactionContextManagedFee.md +docs/EntityBalanceTransactionContextOutgoingTransfer.md +docs/EntityBalanceTransactionContextPayment.md +docs/EntityBalanceTransactionContextPaymentCommission.md +docs/EntityBalanceTransactionContextPostPaymentSplitPayment.md +docs/EntityBalanceTransactionContextRefund.md +docs/EntityBalanceTransactionContextReturnedTransfer.md +docs/EntityBalanceTransactionContextSplitPayment.md +docs/EntityBalanceTransfer.md +docs/EntityBalanceTransferDestination.md +docs/EntityBalanceTransferParty.md +docs/EntityBalanceTransferPartyResponse.md +docs/EntityBalanceTransferResponse.md +docs/EntityBalanceTransferResponseStatusReason.md +docs/EntityBalanceTransferStatusReason.md +docs/EntityCapability.md +docs/EntityCapabilityRequirement.md +docs/EntityCapabilityRequirementLinks.md +docs/EntityCapabilityRequirementLinksDashboard.md +docs/EntityCapture.md +docs/EntityCaptureLinks.md +docs/EntityCaptureResponse.md +docs/EntityChargeback.md +docs/EntityChargebackReason.md +docs/EntityClient.md +docs/EntityClientCommission.md +docs/EntityClientLink.md +docs/EntityClientLinkAddress.md +docs/EntityClientLinkLinks.md +docs/EntityClientLinkOwner.md +docs/EntityClientLinkResponse.md +docs/EntityClientLinks.md +docs/EntityCustomer.md +docs/EntityCustomerLinks.md +docs/EntityCustomerResponse.md +docs/EntityEvent.md +docs/EntityEventLinks.md +docs/EntityInvoice.md +docs/EntityInvoiceLinesInner.md +docs/EntityInvoiceLinks.md +docs/EntityMandate.md +docs/EntityMandateDetails.md +docs/EntityMandateLinks.md +docs/EntityMandateResponse.md +docs/EntityMandateResponseDetails.md +docs/EntityMethod.md +docs/EntityMethodAll.md +docs/EntityMethodAllAllOfPricing.md +docs/EntityMethodImage.md +docs/EntityMethodIssuersInner.md +docs/EntityMethodIssuersInnerImage.md +docs/EntityMethodLinks.md +docs/EntityOnboardingStatus.md +docs/EntityOnboardingStatusLinks.md +docs/EntityOrganization.md +docs/EntityOrganizationLinks.md +docs/EntityPayment.md +docs/EntityPaymentApplicationFee.md +docs/EntityPaymentBillingAddress.md +docs/EntityPaymentDetails.md +docs/EntityPaymentDetailsQrCode.md +docs/EntityPaymentDetailsReceipt.md +docs/EntityPaymentLinesInner.md +docs/EntityPaymentLink.md +docs/EntityPaymentLinks.md +docs/EntityPaymentResponse.md +docs/EntityPaymentResponseDetails.md +docs/EntityPaymentResponseDetailsReceipt.md +docs/EntityPaymentResponseLinesInner.md +docs/EntityPaymentRoute.md +docs/EntityPaymentRouteDestination.md +docs/EntityPaymentRouteLinks.md +docs/EntityPaymentRouteResponse.md +docs/EntityPaymentRouteResponseDestination.md +docs/EntityPermission.md +docs/EntityProfile.md +docs/EntityProfileLinks.md +docs/EntityProfileResponse.md +docs/EntityProfileResponseReview.md +docs/EntityProfileReview.md +docs/EntityRefund.md +docs/EntityRefundExternalReference.md +docs/EntityRefundLinks.md +docs/EntityRefundResponse.md +docs/EntityRefundResponseExternalReference.md +docs/EntityRefundRoutingReversalsInner.md +docs/EntityRefundRoutingReversalsInnerSource.md +docs/EntityRoute.md +docs/EntityRouteDestination.md +docs/EntitySalesInvoice.md +docs/EntitySalesInvoiceLinks.md +docs/EntitySalesInvoiceResponse.md +docs/EntitySettlement.md +docs/EntitySettlementLinks.md +docs/EntitySettlementPeriodsValueValue.md +docs/EntitySettlementPeriodsValueValueCostsInner.md +docs/EntitySettlementPeriodsValueValueCostsInnerRate.md +docs/EntitySettlementPeriodsValueValueRevenueInner.md +docs/EntitySubscription.md +docs/EntitySubscriptionApplicationFee.md +docs/EntitySubscriptionLinks.md +docs/EntityTerminal.md +docs/EntityWebhook.md +docs/EntityWebhookEvent.md +docs/EntityWebhookEventEmbedded.md +docs/EntityWebhookEventEmbeddedEntity.md +docs/EntityWebhookEventLinks.md +docs/EntityWebhookLinks.md +docs/ErrorResponse.md +docs/ErrorResponseLinks.md +docs/ErrorResponseLinksDocumentation.md +docs/ExtraParameterParameters.md +docs/ExtraParameterParametersCompany.md +docs/GetCustomer200Response.md +docs/GetPartnerStatus200Response.md +docs/GetPartnerStatus200ResponseLinks.md +docs/GetPartnerStatus200ResponseUserAgentTokensInner.md +docs/Giftcard.md +docs/InvoiceStatus.md +docs/InvoicesApiApi.md +docs/LineCategories.md +docs/LineCategoriesResponse.md +docs/ListAllMethods200Response.md +docs/ListAllMethods200ResponseEmbedded.md +docs/ListAllSubscriptions200Response.md +docs/ListAllSubscriptions200ResponseEmbedded.md +docs/ListBalanceTransactions200Response.md +docs/ListBalanceTransactions200ResponseEmbedded.md +docs/ListBalances200Response.md +docs/ListBalances200ResponseEmbedded.md +docs/ListCapabilities200Response.md +docs/ListCapabilities200ResponseEmbedded.md +docs/ListCapabilities200ResponseLinks.md +docs/ListCapabilities200ResponseLinksDocumentation.md +docs/ListClients200Response.md +docs/ListClients200ResponseEmbedded.md +docs/ListClients200ResponseEmbeddedClientsInner.md +docs/ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded.md +docs/ListConnectBalanceTransfers200Response.md +docs/ListConnectBalanceTransfers200ResponseEmbedded.md +docs/ListCustomers200Response.md +docs/ListCustomers200ResponseEmbedded.md +docs/ListInvoices200Response.md +docs/ListInvoices200ResponseEmbedded.md +docs/ListLinks.md +docs/ListMandates200Response.md +docs/ListMandates200ResponseEmbedded.md +docs/ListMethods200Response.md +docs/ListMethods200ResponseEmbedded.md +docs/ListMethods200ResponseLinks.md +docs/ListPaymentLinks200Response.md +docs/ListPaymentLinks200ResponseEmbedded.md +docs/ListPermissions200Response.md +docs/ListPermissions200ResponseEmbedded.md +docs/ListPermissions200ResponseLinks.md +docs/ListProfiles200Response.md +docs/ListProfiles200ResponseEmbedded.md +docs/ListSalesInvoices200Response.md +docs/ListSalesInvoices200ResponseEmbedded.md +docs/ListSettlementCaptures200Response.md +docs/ListSettlementCaptures200ResponseEmbedded.md +docs/ListSettlementChargebacks200Response.md +docs/ListSettlementChargebacks200ResponseEmbedded.md +docs/ListSettlementPayments200Response.md +docs/ListSettlementPayments200ResponseEmbedded.md +docs/ListSettlementRefunds200Response.md +docs/ListSettlementRefunds200ResponseEmbedded.md +docs/ListSettlements200Response.md +docs/ListSettlements200ResponseEmbedded.md +docs/ListSubscriptions200Response.md +docs/ListSubscriptions200ResponseEmbedded.md +docs/ListTerminals200Response.md +docs/ListTerminals200ResponseEmbedded.md +docs/ListWebhooks200Response.md +docs/ListWebhooks200ResponseEmbedded.md +docs/Locale.md +docs/LocaleResponse.md +docs/MandateDetailsCardLabel.md +docs/MandateDetailsCardLabelResponse.md +docs/MandateMethod.md +docs/MandateMethodResponse.md +docs/MandateRequest.md +docs/MandateResponse.md +docs/MandateStatus.md +docs/MandatesApiApi.md +docs/Metadata.md +docs/Method.md +docs/MethodIssuerStatus.md +docs/MethodResponse.md +docs/MethodStatus.md +docs/MethodsApiApi.md +docs/Mode.md +docs/OnboardingApiApi.md +docs/OnboardingStatus.md +docs/OrganizationVatRegulation.md +docs/OrganizationsApiApi.md +docs/PaymentAddress.md +docs/PaymentDetailsCardAudition.md +docs/PaymentDetailsCardAuditionResponse.md +docs/PaymentDetailsCardFunding.md +docs/PaymentDetailsCardFundingResponse.md +docs/PaymentDetailsCardLabel.md +docs/PaymentDetailsCardLabelResponse.md +docs/PaymentDetailsCardSecurity.md +docs/PaymentDetailsCardSecurityResponse.md +docs/PaymentDetailsFailureReason.md +docs/PaymentDetailsFailureReasonResponse.md +docs/PaymentDetailsFeeRegion.md +docs/PaymentDetailsFeeRegionResponse.md +docs/PaymentDetailsReceiptCardReadMethod.md +docs/PaymentDetailsReceiptCardReadMethodResponse.md +docs/PaymentDetailsReceiptCardVerificationMethod.md +docs/PaymentDetailsReceiptCardVerificationMethodResponse.md +docs/PaymentDetailsSellerProtection.md +docs/PaymentDetailsSellerProtectionResponse.md +docs/PaymentDetailsWallet.md +docs/PaymentDetailsWalletResponse.md +docs/PaymentLineItem.md +docs/PaymentLineItemResponse.md +docs/PaymentLineType.md +docs/PaymentLineTypeResponse.md +docs/PaymentLinkResponse.md +docs/PaymentLinkSequenceType.md +docs/PaymentLinkSequenceTypeResponse.md +docs/PaymentLinksApiApi.md +docs/PaymentListRoutes200Response.md +docs/PaymentListRoutes200ResponseEmbedded.md +docs/PaymentListRoutes200ResponseLinks.md +docs/PaymentMethod.md +docs/PaymentRequest.md +docs/PaymentResponse.md +docs/PaymentStatus.md +docs/PaymentsApiApi.md +docs/PermissionsApiApi.md +docs/ProfileReviewStatus.md +docs/ProfileReviewStatusResponse.md +docs/ProfileStatus.md +docs/ProfilesApiApi.md +docs/ProfilesProfileIdMethodsIdProfileIdParameter.md +docs/RecurringLineItem.md +docs/RefundExternalReferenceType.md +docs/RefundExternalReferenceTypeResponse.md +docs/RefundRequest.md +docs/RefundRoutingReversalsSourceType.md +docs/RefundStatus.md +docs/RefundsApiApi.md +docs/ReleaseAuthorizationRequest.md +docs/RequestApplePayPaymentSessionRequest.md +docs/RouteCreateRequest.md +docs/RouteCreateRequestDestination.md +docs/RouteCreateResponse.md +docs/RouteDestinationType.md +docs/RouteDestinationTypeResponse.md +docs/RouteGetResponse.md +docs/SalesInvoiceDiscount.md +docs/SalesInvoiceDiscountResponse.md +docs/SalesInvoiceDiscountType.md +docs/SalesInvoiceDiscountTypeResponse.md +docs/SalesInvoiceEmailDetails.md +docs/SalesInvoiceLineItem.md +docs/SalesInvoiceLineItemResponse.md +docs/SalesInvoicePaymentDetails.md +docs/SalesInvoicePaymentDetailsResponse.md +docs/SalesInvoicePaymentDetailsSource.md +docs/SalesInvoicePaymentDetailsSourceResponse.md +docs/SalesInvoicePaymentTerm.md +docs/SalesInvoicePaymentTermResponse.md +docs/SalesInvoiceRecipient.md +docs/SalesInvoiceRecipientLocale.md +docs/SalesInvoiceRecipientLocaleResponse.md +docs/SalesInvoiceRecipientResponse.md +docs/SalesInvoiceRecipientType.md +docs/SalesInvoiceRecipientTypeResponse.md +docs/SalesInvoiceStatus.md +docs/SalesInvoiceStatusResponse.md +docs/SalesInvoiceVatMode.md +docs/SalesInvoiceVatModeResponse.md +docs/SalesInvoiceVatScheme.md +docs/SalesInvoiceVatSchemeResponse.md +docs/SalesInvoicesApiApi.md +docs/SequenceType.md +docs/SequenceTypeResponse.md +docs/SettlementStatus.md +docs/SettlementsApiApi.md +docs/StatusReason.md +docs/SubGroup.md +docs/SubTotals.md +docs/SubmitOnboardingDataRequest.md +docs/SubmitOnboardingDataRequestOrganization.md +docs/SubmitOnboardingDataRequestProfile.md +docs/SubscriptionMethod.md +docs/SubscriptionMethodResponse.md +docs/SubscriptionRequest.md +docs/SubscriptionResponse.md +docs/SubscriptionStatus.md +docs/SubscriptionsApiApi.md +docs/TerminalBrand.md +docs/TerminalModel.md +docs/TerminalStatus.md +docs/TerminalsApiApi.md +docs/UpdatePaymentLinkRequest.md +docs/UpdatePaymentRequest.md +docs/UpdateProfileRequest.md +docs/UpdateSubscriptionRequest.md +docs/UpdateValuesSalesInvoice.md +docs/UpdateWebhookRequest.md +docs/Url.md +docs/UrlNullable.md +docs/Voucher.md +docs/VoucherContractor.md +docs/VoucherImage.md +docs/WalletsApiApi.md +docs/WebhookEventTypes.md +docs/WebhookEventTypesResponse.md +docs/WebhookEventsApiApi.md +docs/WebhookStatus.md +docs/WebhooksApiApi.md +git_push.sh +src/apis/balance_transfers_api_api.rs +src/apis/balances_api_api.rs +src/apis/capabilities_api_api.rs +src/apis/captures_api_api.rs +src/apis/chargebacks_api_api.rs +src/apis/client_links_api_api.rs +src/apis/clients_api_api.rs +src/apis/configuration.rs +src/apis/customers_api_api.rs +src/apis/delayed_routing_api_api.rs +src/apis/invoices_api_api.rs +src/apis/mandates_api_api.rs +src/apis/methods_api_api.rs +src/apis/mod.rs +src/apis/onboarding_api_api.rs +src/apis/organizations_api_api.rs +src/apis/payment_links_api_api.rs +src/apis/payments_api_api.rs +src/apis/permissions_api_api.rs +src/apis/profiles_api_api.rs +src/apis/refunds_api_api.rs +src/apis/sales_invoices_api_api.rs +src/apis/settlements_api_api.rs +src/apis/subscriptions_api_api.rs +src/apis/terminals_api_api.rs +src/apis/wallets_api_api.rs +src/apis/webhook_events_api_api.rs +src/apis/webhooks_api_api.rs +src/lib.rs +src/models/_profiles__profile_id__methods__id__profile_id_parameter.rs +src/models/address.rs +src/models/amount.rs +src/models/amount_nullable.rs +src/models/balance_report_grouping.rs +src/models/balance_status.rs +src/models/balance_transaction_type.rs +src/models/balance_transfer_category.rs +src/models/balance_transfer_category_response.rs +src/models/balance_transfer_destination_type.rs +src/models/balance_transfer_frequency.rs +src/models/balance_transfer_party_type.rs +src/models/balance_transfer_party_type_response.rs +src/models/balance_transfer_status.rs +src/models/balance_transfer_status_reason.rs +src/models/balance_transfer_status_reason_response.rs +src/models/billing_address.rs +src/models/cancel_payment_request.rs +src/models/capability_requirement_status.rs +src/models/capability_status.rs +src/models/capability_status_reason.rs +src/models/capture_mode.rs +src/models/capture_mode_response.rs +src/models/capture_response.rs +src/models/capture_status.rs +src/models/components_sub_totals.rs +src/models/create_payment_link_request.rs +src/models/create_payment_link_request__links.rs +src/models/create_payment_link_request_application_fee.rs +src/models/create_webhook.rs +src/models/create_webhook_request.rs +src/models/currencies.rs +src/models/customer_response.rs +src/models/delete_values_sales_invoice.rs +src/models/delete_webhook_request.rs +src/models/enable_method_issuer_200_response.rs +src/models/enable_method_issuer_request.rs +src/models/entity_balance.rs +src/models/entity_balance__links.rs +src/models/entity_balance_report.rs +src/models/entity_balance_report_totals.rs +src/models/entity_balance_report_totals_available_balance.rs +src/models/entity_balance_report_totals_open.rs +src/models/entity_balance_report_totals_payments.rs +src/models/entity_balance_report_totals_pending_balance.rs +src/models/entity_balance_transaction.rs +src/models/entity_balance_transaction_context.rs +src/models/entity_balance_transaction_context_application_fee.rs +src/models/entity_balance_transaction_context_capture.rs +src/models/entity_balance_transaction_context_chargeback.rs +src/models/entity_balance_transaction_context_invoice_compensation.rs +src/models/entity_balance_transaction_context_managed_fee.rs +src/models/entity_balance_transaction_context_outgoing_transfer.rs +src/models/entity_balance_transaction_context_payment.rs +src/models/entity_balance_transaction_context_payment_commission.rs +src/models/entity_balance_transaction_context_post_payment_split_payment.rs +src/models/entity_balance_transaction_context_refund.rs +src/models/entity_balance_transaction_context_returned_transfer.rs +src/models/entity_balance_transaction_context_split_payment.rs +src/models/entity_balance_transfer.rs +src/models/entity_balance_transfer_destination.rs +src/models/entity_balance_transfer_party.rs +src/models/entity_balance_transfer_party_response.rs +src/models/entity_balance_transfer_response.rs +src/models/entity_balance_transfer_response_status_reason.rs +src/models/entity_balance_transfer_status_reason.rs +src/models/entity_capability.rs +src/models/entity_capability_requirement.rs +src/models/entity_capability_requirement__links.rs +src/models/entity_capability_requirement__links_dashboard.rs +src/models/entity_capture.rs +src/models/entity_capture__links.rs +src/models/entity_capture_response.rs +src/models/entity_chargeback.rs +src/models/entity_chargeback_reason.rs +src/models/entity_client.rs +src/models/entity_client__links.rs +src/models/entity_client_commission.rs +src/models/entity_client_link.rs +src/models/entity_client_link__links.rs +src/models/entity_client_link_address.rs +src/models/entity_client_link_owner.rs +src/models/entity_client_link_response.rs +src/models/entity_customer.rs +src/models/entity_customer__links.rs +src/models/entity_customer_response.rs +src/models/entity_event.rs +src/models/entity_event__links.rs +src/models/entity_invoice.rs +src/models/entity_invoice__links.rs +src/models/entity_invoice_lines_inner.rs +src/models/entity_mandate.rs +src/models/entity_mandate__links.rs +src/models/entity_mandate_details.rs +src/models/entity_mandate_response.rs +src/models/entity_mandate_response_details.rs +src/models/entity_method.rs +src/models/entity_method__links.rs +src/models/entity_method_all.rs +src/models/entity_method_all_all_of_pricing.rs +src/models/entity_method_image.rs +src/models/entity_method_issuers_inner.rs +src/models/entity_method_issuers_inner_image.rs +src/models/entity_onboarding_status.rs +src/models/entity_onboarding_status__links.rs +src/models/entity_organization.rs +src/models/entity_organization__links.rs +src/models/entity_payment.rs +src/models/entity_payment__links.rs +src/models/entity_payment_application_fee.rs +src/models/entity_payment_billing_address.rs +src/models/entity_payment_details.rs +src/models/entity_payment_details_qr_code.rs +src/models/entity_payment_details_receipt.rs +src/models/entity_payment_lines_inner.rs +src/models/entity_payment_link.rs +src/models/entity_payment_response.rs +src/models/entity_payment_response_details.rs +src/models/entity_payment_response_details_receipt.rs +src/models/entity_payment_response_lines_inner.rs +src/models/entity_payment_route.rs +src/models/entity_payment_route__links.rs +src/models/entity_payment_route_destination.rs +src/models/entity_payment_route_response.rs +src/models/entity_payment_route_response_destination.rs +src/models/entity_permission.rs +src/models/entity_profile.rs +src/models/entity_profile__links.rs +src/models/entity_profile_response.rs +src/models/entity_profile_response_review.rs +src/models/entity_profile_review.rs +src/models/entity_refund.rs +src/models/entity_refund__links.rs +src/models/entity_refund_external_reference.rs +src/models/entity_refund_response.rs +src/models/entity_refund_response_external_reference.rs +src/models/entity_refund_routing_reversals_inner.rs +src/models/entity_refund_routing_reversals_inner_source.rs +src/models/entity_route.rs +src/models/entity_route_destination.rs +src/models/entity_sales_invoice.rs +src/models/entity_sales_invoice__links.rs +src/models/entity_sales_invoice_response.rs +src/models/entity_settlement.rs +src/models/entity_settlement__links.rs +src/models/entity_settlement_periods_value_value.rs +src/models/entity_settlement_periods_value_value_costs_inner.rs +src/models/entity_settlement_periods_value_value_costs_inner_rate.rs +src/models/entity_settlement_periods_value_value_revenue_inner.rs +src/models/entity_subscription.rs +src/models/entity_subscription__links.rs +src/models/entity_subscription_application_fee.rs +src/models/entity_terminal.rs +src/models/entity_webhook.rs +src/models/entity_webhook__links.rs +src/models/entity_webhook_event.rs +src/models/entity_webhook_event__embedded.rs +src/models/entity_webhook_event__embedded_entity.rs +src/models/entity_webhook_event__links.rs +src/models/error_response.rs +src/models/error_response__links.rs +src/models/error_response__links_documentation.rs +src/models/extra_parameter_parameters.rs +src/models/extra_parameter_parameters_company.rs +src/models/get_customer_200_response.rs +src/models/get_partner_status_200_response.rs +src/models/get_partner_status_200_response__links.rs +src/models/get_partner_status_200_response_user_agent_tokens_inner.rs +src/models/giftcard.rs +src/models/invoice_status.rs +src/models/line_categories.rs +src/models/line_categories_response.rs +src/models/list_all_methods_200_response.rs +src/models/list_all_methods_200_response__embedded.rs +src/models/list_all_subscriptions_200_response.rs +src/models/list_all_subscriptions_200_response__embedded.rs +src/models/list_balance_transactions_200_response.rs +src/models/list_balance_transactions_200_response__embedded.rs +src/models/list_balances_200_response.rs +src/models/list_balances_200_response__embedded.rs +src/models/list_capabilities_200_response.rs +src/models/list_capabilities_200_response__embedded.rs +src/models/list_capabilities_200_response__links.rs +src/models/list_capabilities_200_response__links_documentation.rs +src/models/list_clients_200_response.rs +src/models/list_clients_200_response__embedded.rs +src/models/list_clients_200_response__embedded_clients_inner.rs +src/models/list_clients_200_response__embedded_clients_inner_all_of__embedded.rs +src/models/list_connect_balance_transfers_200_response.rs +src/models/list_connect_balance_transfers_200_response__embedded.rs +src/models/list_customers_200_response.rs +src/models/list_customers_200_response__embedded.rs +src/models/list_invoices_200_response.rs +src/models/list_invoices_200_response__embedded.rs +src/models/list_links.rs +src/models/list_mandates_200_response.rs +src/models/list_mandates_200_response__embedded.rs +src/models/list_methods_200_response.rs +src/models/list_methods_200_response__embedded.rs +src/models/list_methods_200_response__links.rs +src/models/list_payment_links_200_response.rs +src/models/list_payment_links_200_response__embedded.rs +src/models/list_permissions_200_response.rs +src/models/list_permissions_200_response__embedded.rs +src/models/list_permissions_200_response__links.rs +src/models/list_profiles_200_response.rs +src/models/list_profiles_200_response__embedded.rs +src/models/list_sales_invoices_200_response.rs +src/models/list_sales_invoices_200_response__embedded.rs +src/models/list_settlement_captures_200_response.rs +src/models/list_settlement_captures_200_response__embedded.rs +src/models/list_settlement_chargebacks_200_response.rs +src/models/list_settlement_chargebacks_200_response__embedded.rs +src/models/list_settlement_payments_200_response.rs +src/models/list_settlement_payments_200_response__embedded.rs +src/models/list_settlement_refunds_200_response.rs +src/models/list_settlement_refunds_200_response__embedded.rs +src/models/list_settlements_200_response.rs +src/models/list_settlements_200_response__embedded.rs +src/models/list_subscriptions_200_response.rs +src/models/list_subscriptions_200_response__embedded.rs +src/models/list_terminals_200_response.rs +src/models/list_terminals_200_response__embedded.rs +src/models/list_webhooks_200_response.rs +src/models/list_webhooks_200_response__embedded.rs +src/models/locale.rs +src/models/locale_response.rs +src/models/mandate_details_card_label.rs +src/models/mandate_details_card_label_response.rs +src/models/mandate_method.rs +src/models/mandate_method_response.rs +src/models/mandate_request.rs +src/models/mandate_response.rs +src/models/mandate_status.rs +src/models/metadata.rs +src/models/method.rs +src/models/method_issuer_status.rs +src/models/method_response.rs +src/models/method_status.rs +src/models/mod.rs +src/models/mode.rs +src/models/onboarding_status.rs +src/models/organization_vat_regulation.rs +src/models/payment_address.rs +src/models/payment_details_card_audition.rs +src/models/payment_details_card_audition_response.rs +src/models/payment_details_card_funding.rs +src/models/payment_details_card_funding_response.rs +src/models/payment_details_card_label.rs +src/models/payment_details_card_label_response.rs +src/models/payment_details_card_security.rs +src/models/payment_details_card_security_response.rs +src/models/payment_details_failure_reason.rs +src/models/payment_details_failure_reason_response.rs +src/models/payment_details_fee_region.rs +src/models/payment_details_fee_region_response.rs +src/models/payment_details_receipt_card_read_method.rs +src/models/payment_details_receipt_card_read_method_response.rs +src/models/payment_details_receipt_card_verification_method.rs +src/models/payment_details_receipt_card_verification_method_response.rs +src/models/payment_details_seller_protection.rs +src/models/payment_details_seller_protection_response.rs +src/models/payment_details_wallet.rs +src/models/payment_details_wallet_response.rs +src/models/payment_line_item.rs +src/models/payment_line_item_response.rs +src/models/payment_line_type.rs +src/models/payment_line_type_response.rs +src/models/payment_link_response.rs +src/models/payment_link_sequence_type.rs +src/models/payment_link_sequence_type_response.rs +src/models/payment_list_routes_200_response.rs +src/models/payment_list_routes_200_response__embedded.rs +src/models/payment_list_routes_200_response__links.rs +src/models/payment_method.rs +src/models/payment_request.rs +src/models/payment_response.rs +src/models/payment_status.rs +src/models/profile_review_status.rs +src/models/profile_review_status_response.rs +src/models/profile_status.rs +src/models/recurring_line_item.rs +src/models/refund_external_reference_type.rs +src/models/refund_external_reference_type_response.rs +src/models/refund_request.rs +src/models/refund_routing_reversals_source_type.rs +src/models/refund_status.rs +src/models/release_authorization_request.rs +src/models/request_apple_pay_payment_session_request.rs +src/models/route_create_request.rs +src/models/route_create_request_destination.rs +src/models/route_create_response.rs +src/models/route_destination_type.rs +src/models/route_destination_type_response.rs +src/models/route_get_response.rs +src/models/sales_invoice_discount.rs +src/models/sales_invoice_discount_response.rs +src/models/sales_invoice_discount_type.rs +src/models/sales_invoice_discount_type_response.rs +src/models/sales_invoice_email_details.rs +src/models/sales_invoice_line_item.rs +src/models/sales_invoice_line_item_response.rs +src/models/sales_invoice_payment_details.rs +src/models/sales_invoice_payment_details_response.rs +src/models/sales_invoice_payment_details_source.rs +src/models/sales_invoice_payment_details_source_response.rs +src/models/sales_invoice_payment_term.rs +src/models/sales_invoice_payment_term_response.rs +src/models/sales_invoice_recipient.rs +src/models/sales_invoice_recipient_locale.rs +src/models/sales_invoice_recipient_locale_response.rs +src/models/sales_invoice_recipient_response.rs +src/models/sales_invoice_recipient_type.rs +src/models/sales_invoice_recipient_type_response.rs +src/models/sales_invoice_status.rs +src/models/sales_invoice_status_response.rs +src/models/sales_invoice_vat_mode.rs +src/models/sales_invoice_vat_mode_response.rs +src/models/sales_invoice_vat_scheme.rs +src/models/sales_invoice_vat_scheme_response.rs +src/models/sequence_type.rs +src/models/sequence_type_response.rs +src/models/settlement_status.rs +src/models/status_reason.rs +src/models/sub_group.rs +src/models/sub_totals.rs +src/models/submit_onboarding_data_request.rs +src/models/submit_onboarding_data_request_organization.rs +src/models/submit_onboarding_data_request_profile.rs +src/models/subscription_method.rs +src/models/subscription_method_response.rs +src/models/subscription_request.rs +src/models/subscription_response.rs +src/models/subscription_status.rs +src/models/terminal_brand.rs +src/models/terminal_model.rs +src/models/terminal_status.rs +src/models/update_payment_link_request.rs +src/models/update_payment_request.rs +src/models/update_profile_request.rs +src/models/update_subscription_request.rs +src/models/update_values_sales_invoice.rs +src/models/update_webhook_request.rs +src/models/url.rs +src/models/url_nullable.rs +src/models/voucher.rs +src/models/voucher_contractor.rs +src/models/voucher_image.rs +src/models/webhook_event_types.rs +src/models/webhook_event_types_response.rs +src/models/webhook_status.rs diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..971ecb2 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.16.0 diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..de1ad61 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "mollie" +version = "1.0.0" +authors = ["Zomatree "] +description = "Mollie.com API wrapper for Rust" +license = "MIT" +edition = "2021" + +[dependencies] +serde = { version = "^1.0", features = ["derive"] } +serde_with = { version = "^3.8", default-features = false, features = ["base64", "std", "macros"] } +serde_json = "^1.0" +serde_repr = "^0.1" +url = "^2.5" +reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } + +[features] +default = ["native-tls"] +native-tls = ["reqwest/native-tls"] +rustls-tls = ["reqwest/rustls-tls"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..f9f23cd --- /dev/null +++ b/README.md @@ -0,0 +1,493 @@ +# Rust API client for mollie + +Mollie.com API wrapper for Rust + +## Overview + +This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client. + +- API version: 1.0.0 +- Package version: 1.0.0 +- Generator version: 7.16.0 +- Build package: `org.openapitools.codegen.languages.RustClientCodegen` + +## Installation + +Put the package under your project folder in a directory named `mollie` and add the following to `Cargo.toml` under `[dependencies]`: + +``` +mollie = { git = "https://github.com/stoatchat/mollie-rs" } +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://api.mollie.com/v2* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*BalanceTransfersApiApi* | [**create_connect_balance_transfer**](docs/BalanceTransfersApiApi.md#create_connect_balance_transfer) | **POST** /connect/balance-transfers | Create a Connect balance transfer +*BalanceTransfersApiApi* | [**get_connect_balance_transfer**](docs/BalanceTransfersApiApi.md#get_connect_balance_transfer) | **GET** /connect/balance-transfers/{id} | Get a Connect balance transfer +*BalanceTransfersApiApi* | [**list_connect_balance_transfers**](docs/BalanceTransfersApiApi.md#list_connect_balance_transfers) | **GET** /connect/balance-transfers | List all Connect balance transfers +*BalancesApiApi* | [**get_balance**](docs/BalancesApiApi.md#get_balance) | **GET** /balances/{id} | Get balance +*BalancesApiApi* | [**get_balance_report**](docs/BalancesApiApi.md#get_balance_report) | **GET** /balances/{balanceId}/report | Get balance report +*BalancesApiApi* | [**get_primary_balance**](docs/BalancesApiApi.md#get_primary_balance) | **GET** /balances/primary | Get primary balance +*BalancesApiApi* | [**list_balance_transactions**](docs/BalancesApiApi.md#list_balance_transactions) | **GET** /balances/{balanceId}/transactions | List balance transactions +*BalancesApiApi* | [**list_balances**](docs/BalancesApiApi.md#list_balances) | **GET** /balances | List balances +*CapabilitiesApiApi* | [**list_capabilities**](docs/CapabilitiesApiApi.md#list_capabilities) | **GET** /capabilities | List capabilities +*CapturesApiApi* | [**create_capture**](docs/CapturesApiApi.md#create_capture) | **POST** /payments/{paymentId}/captures | Create capture +*CapturesApiApi* | [**get_capture**](docs/CapturesApiApi.md#get_capture) | **GET** /payments/{paymentId}/captures/{captureId} | Get capture +*CapturesApiApi* | [**list_captures**](docs/CapturesApiApi.md#list_captures) | **GET** /payments/{paymentId}/captures | List captures +*ChargebacksApiApi* | [**get_chargeback**](docs/ChargebacksApiApi.md#get_chargeback) | **GET** /payments/{paymentId}/chargebacks/{chargebackId} | Get payment chargeback +*ChargebacksApiApi* | [**list_all_chargebacks**](docs/ChargebacksApiApi.md#list_all_chargebacks) | **GET** /chargebacks | List all chargebacks +*ChargebacksApiApi* | [**list_chargebacks**](docs/ChargebacksApiApi.md#list_chargebacks) | **GET** /payments/{paymentId}/chargebacks | List payment chargebacks +*ClientLinksApiApi* | [**create_client_link**](docs/ClientLinksApiApi.md#create_client_link) | **POST** /client-links | Create client link +*ClientsApiApi* | [**get_client**](docs/ClientsApiApi.md#get_client) | **GET** /clients/{id} | Get client +*ClientsApiApi* | [**list_clients**](docs/ClientsApiApi.md#list_clients) | **GET** /clients | List clients +*CustomersApiApi* | [**create_customer**](docs/CustomersApiApi.md#create_customer) | **POST** /customers | Create customer +*CustomersApiApi* | [**create_customer_payment**](docs/CustomersApiApi.md#create_customer_payment) | **POST** /customers/{customerId}/payments | Create customer payment +*CustomersApiApi* | [**delete_customer**](docs/CustomersApiApi.md#delete_customer) | **DELETE** /customers/{customerId} | Delete customer +*CustomersApiApi* | [**get_customer**](docs/CustomersApiApi.md#get_customer) | **GET** /customers/{customerId} | Get customer +*CustomersApiApi* | [**list_customer_payments**](docs/CustomersApiApi.md#list_customer_payments) | **GET** /customers/{customerId}/payments | List customer payments +*CustomersApiApi* | [**list_customers**](docs/CustomersApiApi.md#list_customers) | **GET** /customers | List customers +*CustomersApiApi* | [**update_customer**](docs/CustomersApiApi.md#update_customer) | **PATCH** /customers/{customerId} | Update customer +*DelayedRoutingApiApi* | [**payment_create_route**](docs/DelayedRoutingApiApi.md#payment_create_route) | **POST** /payments/{paymentId}/routes | Create a delayed route +*DelayedRoutingApiApi* | [**payment_list_routes**](docs/DelayedRoutingApiApi.md#payment_list_routes) | **GET** /payments/{paymentId}/routes | List payment routes +*InvoicesApiApi* | [**get_invoice**](docs/InvoicesApiApi.md#get_invoice) | **GET** /invoices/{id} | Get invoice +*InvoicesApiApi* | [**list_invoices**](docs/InvoicesApiApi.md#list_invoices) | **GET** /invoices | List invoices +*MandatesApiApi* | [**create_mandate**](docs/MandatesApiApi.md#create_mandate) | **POST** /customers/{customerId}/mandates | Create mandate +*MandatesApiApi* | [**get_mandate**](docs/MandatesApiApi.md#get_mandate) | **GET** /customers/{customerId}/mandates/{mandateId} | Get mandate +*MandatesApiApi* | [**list_mandates**](docs/MandatesApiApi.md#list_mandates) | **GET** /customers/{customerId}/mandates | List mandates +*MandatesApiApi* | [**revoke_mandate**](docs/MandatesApiApi.md#revoke_mandate) | **DELETE** /customers/{customerId}/mandates/{mandateId} | Revoke mandate +*MethodsApiApi* | [**disable_method**](docs/MethodsApiApi.md#disable_method) | **DELETE** /profiles/{profileId}/methods/{id} | Disable payment method +*MethodsApiApi* | [**disable_method_issuer**](docs/MethodsApiApi.md#disable_method_issuer) | **DELETE** /profiles/{profileId}/methods/{methodId}/issuers/{id} | Disable payment method issuer +*MethodsApiApi* | [**enable_method**](docs/MethodsApiApi.md#enable_method) | **POST** /profiles/{profileId}/methods/{id} | Enable payment method +*MethodsApiApi* | [**enable_method_issuer**](docs/MethodsApiApi.md#enable_method_issuer) | **POST** /profiles/{profileId}/methods/{methodId}/issuers/{id} | Enable payment method issuer +*MethodsApiApi* | [**get_method**](docs/MethodsApiApi.md#get_method) | **GET** /methods/{id} | Get payment method +*MethodsApiApi* | [**list_all_methods**](docs/MethodsApiApi.md#list_all_methods) | **GET** /methods/all | List all payment methods +*MethodsApiApi* | [**list_methods**](docs/MethodsApiApi.md#list_methods) | **GET** /methods | List payment methods +*OnboardingApiApi* | [**get_onboarding_status**](docs/OnboardingApiApi.md#get_onboarding_status) | **GET** /onboarding/me | Get onboarding status +*OnboardingApiApi* | [**submit_onboarding_data**](docs/OnboardingApiApi.md#submit_onboarding_data) | **POST** /onboarding/me | Submit onboarding data +*OrganizationsApiApi* | [**get_current_organization**](docs/OrganizationsApiApi.md#get_current_organization) | **GET** /organizations/me | Get current organization +*OrganizationsApiApi* | [**get_organization**](docs/OrganizationsApiApi.md#get_organization) | **GET** /organizations/{id} | Get organization +*OrganizationsApiApi* | [**get_partner_status**](docs/OrganizationsApiApi.md#get_partner_status) | **GET** /organizations/me/partner | Get partner status +*PaymentLinksApiApi* | [**create_payment_link**](docs/PaymentLinksApiApi.md#create_payment_link) | **POST** /payment-links | Create payment link +*PaymentLinksApiApi* | [**delete_payment_link**](docs/PaymentLinksApiApi.md#delete_payment_link) | **DELETE** /payment-links/{paymentLinkId} | Delete payment link +*PaymentLinksApiApi* | [**get_payment_link**](docs/PaymentLinksApiApi.md#get_payment_link) | **GET** /payment-links/{paymentLinkId} | Get payment link +*PaymentLinksApiApi* | [**get_payment_link_payments**](docs/PaymentLinksApiApi.md#get_payment_link_payments) | **GET** /payment-links/{paymentLinkId}/payments | Get payment link payments +*PaymentLinksApiApi* | [**list_payment_links**](docs/PaymentLinksApiApi.md#list_payment_links) | **GET** /payment-links | List payment links +*PaymentLinksApiApi* | [**update_payment_link**](docs/PaymentLinksApiApi.md#update_payment_link) | **PATCH** /payment-links/{paymentLinkId} | Update payment link +*PaymentsApiApi* | [**cancel_payment**](docs/PaymentsApiApi.md#cancel_payment) | **DELETE** /payments/{paymentId} | Cancel payment +*PaymentsApiApi* | [**create_payment**](docs/PaymentsApiApi.md#create_payment) | **POST** /payments | Create payment +*PaymentsApiApi* | [**get_payment**](docs/PaymentsApiApi.md#get_payment) | **GET** /payments/{paymentId} | Get payment +*PaymentsApiApi* | [**list_payments**](docs/PaymentsApiApi.md#list_payments) | **GET** /payments | List payments +*PaymentsApiApi* | [**release_authorization**](docs/PaymentsApiApi.md#release_authorization) | **POST** /payments/{paymentId}/release-authorization | Release payment authorization +*PaymentsApiApi* | [**update_payment**](docs/PaymentsApiApi.md#update_payment) | **PATCH** /payments/{paymentId} | Update payment +*PermissionsApiApi* | [**get_permission**](docs/PermissionsApiApi.md#get_permission) | **GET** /permissions/{permissionId} | Get permission +*PermissionsApiApi* | [**list_permissions**](docs/PermissionsApiApi.md#list_permissions) | **GET** /permissions | List permissions +*ProfilesApiApi* | [**create_profile**](docs/ProfilesApiApi.md#create_profile) | **POST** /profiles | Create profile +*ProfilesApiApi* | [**delete_profile**](docs/ProfilesApiApi.md#delete_profile) | **DELETE** /profiles/{id} | Delete profile +*ProfilesApiApi* | [**get_current_profile**](docs/ProfilesApiApi.md#get_current_profile) | **GET** /profiles/me | Get current profile +*ProfilesApiApi* | [**get_profile**](docs/ProfilesApiApi.md#get_profile) | **GET** /profiles/{id} | Get profile +*ProfilesApiApi* | [**list_profiles**](docs/ProfilesApiApi.md#list_profiles) | **GET** /profiles | List profiles +*ProfilesApiApi* | [**update_profile**](docs/ProfilesApiApi.md#update_profile) | **PATCH** /profiles/{id} | Update profile +*RefundsApiApi* | [**cancel_refund**](docs/RefundsApiApi.md#cancel_refund) | **DELETE** /payments/{paymentId}/refunds/{refundId} | Cancel payment refund +*RefundsApiApi* | [**create_refund**](docs/RefundsApiApi.md#create_refund) | **POST** /payments/{paymentId}/refunds | Create payment refund +*RefundsApiApi* | [**get_refund**](docs/RefundsApiApi.md#get_refund) | **GET** /payments/{paymentId}/refunds/{refundId} | Get payment refund +*RefundsApiApi* | [**list_all_refunds**](docs/RefundsApiApi.md#list_all_refunds) | **GET** /refunds | List all refunds +*RefundsApiApi* | [**list_refunds**](docs/RefundsApiApi.md#list_refunds) | **GET** /payments/{paymentId}/refunds | List payment refunds +*SalesInvoicesApiApi* | [**create_sales_invoice**](docs/SalesInvoicesApiApi.md#create_sales_invoice) | **POST** /sales-invoices | Create sales invoice +*SalesInvoicesApiApi* | [**delete_sales_invoice**](docs/SalesInvoicesApiApi.md#delete_sales_invoice) | **DELETE** /sales-invoices/{id} | Delete sales invoice +*SalesInvoicesApiApi* | [**get_sales_invoice**](docs/SalesInvoicesApiApi.md#get_sales_invoice) | **GET** /sales-invoices/{id} | Get sales invoice +*SalesInvoicesApiApi* | [**list_sales_invoices**](docs/SalesInvoicesApiApi.md#list_sales_invoices) | **GET** /sales-invoices | List sales invoices +*SalesInvoicesApiApi* | [**update_sales_invoice**](docs/SalesInvoicesApiApi.md#update_sales_invoice) | **PATCH** /sales-invoices/{id} | Update sales invoice +*SettlementsApiApi* | [**get_next_settlement**](docs/SettlementsApiApi.md#get_next_settlement) | **GET** /settlements/next | Get next settlement +*SettlementsApiApi* | [**get_open_settlement**](docs/SettlementsApiApi.md#get_open_settlement) | **GET** /settlements/open | Get open settlement +*SettlementsApiApi* | [**get_settlement**](docs/SettlementsApiApi.md#get_settlement) | **GET** /settlements/{id} | Get settlement +*SettlementsApiApi* | [**list_settlement_captures**](docs/SettlementsApiApi.md#list_settlement_captures) | **GET** /settlements/{settlementId}/captures | List settlement captures +*SettlementsApiApi* | [**list_settlement_chargebacks**](docs/SettlementsApiApi.md#list_settlement_chargebacks) | **GET** /settlements/{settlementId}/chargebacks | List settlement chargebacks +*SettlementsApiApi* | [**list_settlement_payments**](docs/SettlementsApiApi.md#list_settlement_payments) | **GET** /settlements/{settlementId}/payments | List settlement payments +*SettlementsApiApi* | [**list_settlement_refunds**](docs/SettlementsApiApi.md#list_settlement_refunds) | **GET** /settlements/{settlementId}/refunds | List settlement refunds +*SettlementsApiApi* | [**list_settlements**](docs/SettlementsApiApi.md#list_settlements) | **GET** /settlements | List settlements +*SubscriptionsApiApi* | [**cancel_subscription**](docs/SubscriptionsApiApi.md#cancel_subscription) | **DELETE** /customers/{customerId}/subscriptions/{subscriptionId} | Cancel subscription +*SubscriptionsApiApi* | [**create_subscription**](docs/SubscriptionsApiApi.md#create_subscription) | **POST** /customers/{customerId}/subscriptions | Create subscription +*SubscriptionsApiApi* | [**get_subscription**](docs/SubscriptionsApiApi.md#get_subscription) | **GET** /customers/{customerId}/subscriptions/{subscriptionId} | Get subscription +*SubscriptionsApiApi* | [**list_all_subscriptions**](docs/SubscriptionsApiApi.md#list_all_subscriptions) | **GET** /subscriptions | List all subscriptions +*SubscriptionsApiApi* | [**list_subscription_payments**](docs/SubscriptionsApiApi.md#list_subscription_payments) | **GET** /customers/{customerId}/subscriptions/{subscriptionId}/payments | List subscription payments +*SubscriptionsApiApi* | [**list_subscriptions**](docs/SubscriptionsApiApi.md#list_subscriptions) | **GET** /customers/{customerId}/subscriptions | List customer subscriptions +*SubscriptionsApiApi* | [**update_subscription**](docs/SubscriptionsApiApi.md#update_subscription) | **PATCH** /customers/{customerId}/subscriptions/{subscriptionId} | Update subscription +*TerminalsApiApi* | [**get_terminal**](docs/TerminalsApiApi.md#get_terminal) | **GET** /terminals/{terminalId} | Get terminal +*TerminalsApiApi* | [**list_terminals**](docs/TerminalsApiApi.md#list_terminals) | **GET** /terminals | List terminals +*WalletsApiApi* | [**request_apple_pay_payment_session**](docs/WalletsApiApi.md#request_apple_pay_payment_session) | **POST** /wallets/applepay/sessions | Request Apple Pay payment session +*WebhookEventsApiApi* | [**get_webhook_event**](docs/WebhookEventsApiApi.md#get_webhook_event) | **GET** /events/{id} | Get a Webhook Event +*WebhooksApiApi* | [**create_webhook**](docs/WebhooksApiApi.md#create_webhook) | **POST** /webhooks | Create a webhook +*WebhooksApiApi* | [**delete_webhook**](docs/WebhooksApiApi.md#delete_webhook) | **DELETE** /webhooks/{id} | Delete a webhook +*WebhooksApiApi* | [**get_webhook**](docs/WebhooksApiApi.md#get_webhook) | **GET** /webhooks/{id} | Get a webhook +*WebhooksApiApi* | [**list_webhooks**](docs/WebhooksApiApi.md#list_webhooks) | **GET** /webhooks | List all webhooks +*WebhooksApiApi* | [**test_webhook**](docs/WebhooksApiApi.md#test_webhook) | **POST** /webhooks/{id}/ping | Test a webhook +*WebhooksApiApi* | [**update_webhook**](docs/WebhooksApiApi.md#update_webhook) | **PATCH** /webhooks/{id} | Update a webhook + + +## Documentation For Models + + - [Address](docs/Address.md) + - [Amount](docs/Amount.md) + - [AmountNullable](docs/AmountNullable.md) + - [BalanceReportGrouping](docs/BalanceReportGrouping.md) + - [BalanceStatus](docs/BalanceStatus.md) + - [BalanceTransactionType](docs/BalanceTransactionType.md) + - [BalanceTransferCategory](docs/BalanceTransferCategory.md) + - [BalanceTransferCategoryResponse](docs/BalanceTransferCategoryResponse.md) + - [BalanceTransferDestinationType](docs/BalanceTransferDestinationType.md) + - [BalanceTransferFrequency](docs/BalanceTransferFrequency.md) + - [BalanceTransferPartyType](docs/BalanceTransferPartyType.md) + - [BalanceTransferPartyTypeResponse](docs/BalanceTransferPartyTypeResponse.md) + - [BalanceTransferStatus](docs/BalanceTransferStatus.md) + - [BalanceTransferStatusReason](docs/BalanceTransferStatusReason.md) + - [BalanceTransferStatusReasonResponse](docs/BalanceTransferStatusReasonResponse.md) + - [BillingAddress](docs/BillingAddress.md) + - [CancelPaymentRequest](docs/CancelPaymentRequest.md) + - [CapabilityRequirementStatus](docs/CapabilityRequirementStatus.md) + - [CapabilityStatus](docs/CapabilityStatus.md) + - [CapabilityStatusReason](docs/CapabilityStatusReason.md) + - [CaptureMode](docs/CaptureMode.md) + - [CaptureModeResponse](docs/CaptureModeResponse.md) + - [CaptureResponse](docs/CaptureResponse.md) + - [CaptureStatus](docs/CaptureStatus.md) + - [ComponentsSubTotals](docs/ComponentsSubTotals.md) + - [CreatePaymentLinkRequest](docs/CreatePaymentLinkRequest.md) + - [CreatePaymentLinkRequestApplicationFee](docs/CreatePaymentLinkRequestApplicationFee.md) + - [CreatePaymentLinkRequestLinks](docs/CreatePaymentLinkRequestLinks.md) + - [CreateWebhook](docs/CreateWebhook.md) + - [CreateWebhookRequest](docs/CreateWebhookRequest.md) + - [Currencies](docs/Currencies.md) + - [CustomerResponse](docs/CustomerResponse.md) + - [DeleteValuesSalesInvoice](docs/DeleteValuesSalesInvoice.md) + - [DeleteWebhookRequest](docs/DeleteWebhookRequest.md) + - [EnableMethodIssuer200Response](docs/EnableMethodIssuer200Response.md) + - [EnableMethodIssuerRequest](docs/EnableMethodIssuerRequest.md) + - [EntityBalance](docs/EntityBalance.md) + - [EntityBalanceLinks](docs/EntityBalanceLinks.md) + - [EntityBalanceReport](docs/EntityBalanceReport.md) + - [EntityBalanceReportTotals](docs/EntityBalanceReportTotals.md) + - [EntityBalanceReportTotalsAvailableBalance](docs/EntityBalanceReportTotalsAvailableBalance.md) + - [EntityBalanceReportTotalsOpen](docs/EntityBalanceReportTotalsOpen.md) + - [EntityBalanceReportTotalsPayments](docs/EntityBalanceReportTotalsPayments.md) + - [EntityBalanceReportTotalsPendingBalance](docs/EntityBalanceReportTotalsPendingBalance.md) + - [EntityBalanceTransaction](docs/EntityBalanceTransaction.md) + - [EntityBalanceTransactionContext](docs/EntityBalanceTransactionContext.md) + - [EntityBalanceTransactionContextApplicationFee](docs/EntityBalanceTransactionContextApplicationFee.md) + - [EntityBalanceTransactionContextCapture](docs/EntityBalanceTransactionContextCapture.md) + - [EntityBalanceTransactionContextChargeback](docs/EntityBalanceTransactionContextChargeback.md) + - [EntityBalanceTransactionContextInvoiceCompensation](docs/EntityBalanceTransactionContextInvoiceCompensation.md) + - [EntityBalanceTransactionContextManagedFee](docs/EntityBalanceTransactionContextManagedFee.md) + - [EntityBalanceTransactionContextOutgoingTransfer](docs/EntityBalanceTransactionContextOutgoingTransfer.md) + - [EntityBalanceTransactionContextPayment](docs/EntityBalanceTransactionContextPayment.md) + - [EntityBalanceTransactionContextPaymentCommission](docs/EntityBalanceTransactionContextPaymentCommission.md) + - [EntityBalanceTransactionContextPostPaymentSplitPayment](docs/EntityBalanceTransactionContextPostPaymentSplitPayment.md) + - [EntityBalanceTransactionContextRefund](docs/EntityBalanceTransactionContextRefund.md) + - [EntityBalanceTransactionContextReturnedTransfer](docs/EntityBalanceTransactionContextReturnedTransfer.md) + - [EntityBalanceTransactionContextSplitPayment](docs/EntityBalanceTransactionContextSplitPayment.md) + - [EntityBalanceTransfer](docs/EntityBalanceTransfer.md) + - [EntityBalanceTransferDestination](docs/EntityBalanceTransferDestination.md) + - [EntityBalanceTransferParty](docs/EntityBalanceTransferParty.md) + - [EntityBalanceTransferPartyResponse](docs/EntityBalanceTransferPartyResponse.md) + - [EntityBalanceTransferResponse](docs/EntityBalanceTransferResponse.md) + - [EntityBalanceTransferResponseStatusReason](docs/EntityBalanceTransferResponseStatusReason.md) + - [EntityBalanceTransferStatusReason](docs/EntityBalanceTransferStatusReason.md) + - [EntityCapability](docs/EntityCapability.md) + - [EntityCapabilityRequirement](docs/EntityCapabilityRequirement.md) + - [EntityCapabilityRequirementLinks](docs/EntityCapabilityRequirementLinks.md) + - [EntityCapabilityRequirementLinksDashboard](docs/EntityCapabilityRequirementLinksDashboard.md) + - [EntityCapture](docs/EntityCapture.md) + - [EntityCaptureLinks](docs/EntityCaptureLinks.md) + - [EntityCaptureResponse](docs/EntityCaptureResponse.md) + - [EntityChargeback](docs/EntityChargeback.md) + - [EntityChargebackReason](docs/EntityChargebackReason.md) + - [EntityClient](docs/EntityClient.md) + - [EntityClientCommission](docs/EntityClientCommission.md) + - [EntityClientLink](docs/EntityClientLink.md) + - [EntityClientLinkAddress](docs/EntityClientLinkAddress.md) + - [EntityClientLinkLinks](docs/EntityClientLinkLinks.md) + - [EntityClientLinkOwner](docs/EntityClientLinkOwner.md) + - [EntityClientLinkResponse](docs/EntityClientLinkResponse.md) + - [EntityClientLinks](docs/EntityClientLinks.md) + - [EntityCustomer](docs/EntityCustomer.md) + - [EntityCustomerLinks](docs/EntityCustomerLinks.md) + - [EntityCustomerResponse](docs/EntityCustomerResponse.md) + - [EntityEvent](docs/EntityEvent.md) + - [EntityEventLinks](docs/EntityEventLinks.md) + - [EntityInvoice](docs/EntityInvoice.md) + - [EntityInvoiceLinesInner](docs/EntityInvoiceLinesInner.md) + - [EntityInvoiceLinks](docs/EntityInvoiceLinks.md) + - [EntityMandate](docs/EntityMandate.md) + - [EntityMandateDetails](docs/EntityMandateDetails.md) + - [EntityMandateLinks](docs/EntityMandateLinks.md) + - [EntityMandateResponse](docs/EntityMandateResponse.md) + - [EntityMandateResponseDetails](docs/EntityMandateResponseDetails.md) + - [EntityMethod](docs/EntityMethod.md) + - [EntityMethodAll](docs/EntityMethodAll.md) + - [EntityMethodAllAllOfPricing](docs/EntityMethodAllAllOfPricing.md) + - [EntityMethodImage](docs/EntityMethodImage.md) + - [EntityMethodIssuersInner](docs/EntityMethodIssuersInner.md) + - [EntityMethodIssuersInnerImage](docs/EntityMethodIssuersInnerImage.md) + - [EntityMethodLinks](docs/EntityMethodLinks.md) + - [EntityOnboardingStatus](docs/EntityOnboardingStatus.md) + - [EntityOnboardingStatusLinks](docs/EntityOnboardingStatusLinks.md) + - [EntityOrganization](docs/EntityOrganization.md) + - [EntityOrganizationLinks](docs/EntityOrganizationLinks.md) + - [EntityPayment](docs/EntityPayment.md) + - [EntityPaymentApplicationFee](docs/EntityPaymentApplicationFee.md) + - [EntityPaymentBillingAddress](docs/EntityPaymentBillingAddress.md) + - [EntityPaymentDetails](docs/EntityPaymentDetails.md) + - [EntityPaymentDetailsQrCode](docs/EntityPaymentDetailsQrCode.md) + - [EntityPaymentDetailsReceipt](docs/EntityPaymentDetailsReceipt.md) + - [EntityPaymentLinesInner](docs/EntityPaymentLinesInner.md) + - [EntityPaymentLink](docs/EntityPaymentLink.md) + - [EntityPaymentLinks](docs/EntityPaymentLinks.md) + - [EntityPaymentResponse](docs/EntityPaymentResponse.md) + - [EntityPaymentResponseDetails](docs/EntityPaymentResponseDetails.md) + - [EntityPaymentResponseDetailsReceipt](docs/EntityPaymentResponseDetailsReceipt.md) + - [EntityPaymentResponseLinesInner](docs/EntityPaymentResponseLinesInner.md) + - [EntityPaymentRoute](docs/EntityPaymentRoute.md) + - [EntityPaymentRouteDestination](docs/EntityPaymentRouteDestination.md) + - [EntityPaymentRouteLinks](docs/EntityPaymentRouteLinks.md) + - [EntityPaymentRouteResponse](docs/EntityPaymentRouteResponse.md) + - [EntityPaymentRouteResponseDestination](docs/EntityPaymentRouteResponseDestination.md) + - [EntityPermission](docs/EntityPermission.md) + - [EntityProfile](docs/EntityProfile.md) + - [EntityProfileLinks](docs/EntityProfileLinks.md) + - [EntityProfileResponse](docs/EntityProfileResponse.md) + - [EntityProfileResponseReview](docs/EntityProfileResponseReview.md) + - [EntityProfileReview](docs/EntityProfileReview.md) + - [EntityRefund](docs/EntityRefund.md) + - [EntityRefundExternalReference](docs/EntityRefundExternalReference.md) + - [EntityRefundLinks](docs/EntityRefundLinks.md) + - [EntityRefundResponse](docs/EntityRefundResponse.md) + - [EntityRefundResponseExternalReference](docs/EntityRefundResponseExternalReference.md) + - [EntityRefundRoutingReversalsInner](docs/EntityRefundRoutingReversalsInner.md) + - [EntityRefundRoutingReversalsInnerSource](docs/EntityRefundRoutingReversalsInnerSource.md) + - [EntityRoute](docs/EntityRoute.md) + - [EntityRouteDestination](docs/EntityRouteDestination.md) + - [EntitySalesInvoice](docs/EntitySalesInvoice.md) + - [EntitySalesInvoiceLinks](docs/EntitySalesInvoiceLinks.md) + - [EntitySalesInvoiceResponse](docs/EntitySalesInvoiceResponse.md) + - [EntitySettlement](docs/EntitySettlement.md) + - [EntitySettlementLinks](docs/EntitySettlementLinks.md) + - [EntitySettlementPeriodsValueValue](docs/EntitySettlementPeriodsValueValue.md) + - [EntitySettlementPeriodsValueValueCostsInner](docs/EntitySettlementPeriodsValueValueCostsInner.md) + - [EntitySettlementPeriodsValueValueCostsInnerRate](docs/EntitySettlementPeriodsValueValueCostsInnerRate.md) + - [EntitySettlementPeriodsValueValueRevenueInner](docs/EntitySettlementPeriodsValueValueRevenueInner.md) + - [EntitySubscription](docs/EntitySubscription.md) + - [EntitySubscriptionApplicationFee](docs/EntitySubscriptionApplicationFee.md) + - [EntitySubscriptionLinks](docs/EntitySubscriptionLinks.md) + - [EntityTerminal](docs/EntityTerminal.md) + - [EntityWebhook](docs/EntityWebhook.md) + - [EntityWebhookEvent](docs/EntityWebhookEvent.md) + - [EntityWebhookEventEmbedded](docs/EntityWebhookEventEmbedded.md) + - [EntityWebhookEventEmbeddedEntity](docs/EntityWebhookEventEmbeddedEntity.md) + - [EntityWebhookEventLinks](docs/EntityWebhookEventLinks.md) + - [EntityWebhookLinks](docs/EntityWebhookLinks.md) + - [ErrorResponse](docs/ErrorResponse.md) + - [ErrorResponseLinks](docs/ErrorResponseLinks.md) + - [ErrorResponseLinksDocumentation](docs/ErrorResponseLinksDocumentation.md) + - [ExtraParameterParameters](docs/ExtraParameterParameters.md) + - [ExtraParameterParametersCompany](docs/ExtraParameterParametersCompany.md) + - [GetCustomer200Response](docs/GetCustomer200Response.md) + - [GetPartnerStatus200Response](docs/GetPartnerStatus200Response.md) + - [GetPartnerStatus200ResponseLinks](docs/GetPartnerStatus200ResponseLinks.md) + - [GetPartnerStatus200ResponseUserAgentTokensInner](docs/GetPartnerStatus200ResponseUserAgentTokensInner.md) + - [Giftcard](docs/Giftcard.md) + - [InvoiceStatus](docs/InvoiceStatus.md) + - [LineCategories](docs/LineCategories.md) + - [LineCategoriesResponse](docs/LineCategoriesResponse.md) + - [ListAllMethods200Response](docs/ListAllMethods200Response.md) + - [ListAllMethods200ResponseEmbedded](docs/ListAllMethods200ResponseEmbedded.md) + - [ListAllSubscriptions200Response](docs/ListAllSubscriptions200Response.md) + - [ListAllSubscriptions200ResponseEmbedded](docs/ListAllSubscriptions200ResponseEmbedded.md) + - [ListBalanceTransactions200Response](docs/ListBalanceTransactions200Response.md) + - [ListBalanceTransactions200ResponseEmbedded](docs/ListBalanceTransactions200ResponseEmbedded.md) + - [ListBalances200Response](docs/ListBalances200Response.md) + - [ListBalances200ResponseEmbedded](docs/ListBalances200ResponseEmbedded.md) + - [ListCapabilities200Response](docs/ListCapabilities200Response.md) + - [ListCapabilities200ResponseEmbedded](docs/ListCapabilities200ResponseEmbedded.md) + - [ListCapabilities200ResponseLinks](docs/ListCapabilities200ResponseLinks.md) + - [ListCapabilities200ResponseLinksDocumentation](docs/ListCapabilities200ResponseLinksDocumentation.md) + - [ListClients200Response](docs/ListClients200Response.md) + - [ListClients200ResponseEmbedded](docs/ListClients200ResponseEmbedded.md) + - [ListClients200ResponseEmbeddedClientsInner](docs/ListClients200ResponseEmbeddedClientsInner.md) + - [ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded](docs/ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded.md) + - [ListConnectBalanceTransfers200Response](docs/ListConnectBalanceTransfers200Response.md) + - [ListConnectBalanceTransfers200ResponseEmbedded](docs/ListConnectBalanceTransfers200ResponseEmbedded.md) + - [ListCustomers200Response](docs/ListCustomers200Response.md) + - [ListCustomers200ResponseEmbedded](docs/ListCustomers200ResponseEmbedded.md) + - [ListInvoices200Response](docs/ListInvoices200Response.md) + - [ListInvoices200ResponseEmbedded](docs/ListInvoices200ResponseEmbedded.md) + - [ListLinks](docs/ListLinks.md) + - [ListMandates200Response](docs/ListMandates200Response.md) + - [ListMandates200ResponseEmbedded](docs/ListMandates200ResponseEmbedded.md) + - [ListMethods200Response](docs/ListMethods200Response.md) + - [ListMethods200ResponseEmbedded](docs/ListMethods200ResponseEmbedded.md) + - [ListMethods200ResponseLinks](docs/ListMethods200ResponseLinks.md) + - [ListPaymentLinks200Response](docs/ListPaymentLinks200Response.md) + - [ListPaymentLinks200ResponseEmbedded](docs/ListPaymentLinks200ResponseEmbedded.md) + - [ListPermissions200Response](docs/ListPermissions200Response.md) + - [ListPermissions200ResponseEmbedded](docs/ListPermissions200ResponseEmbedded.md) + - [ListPermissions200ResponseLinks](docs/ListPermissions200ResponseLinks.md) + - [ListProfiles200Response](docs/ListProfiles200Response.md) + - [ListProfiles200ResponseEmbedded](docs/ListProfiles200ResponseEmbedded.md) + - [ListSalesInvoices200Response](docs/ListSalesInvoices200Response.md) + - [ListSalesInvoices200ResponseEmbedded](docs/ListSalesInvoices200ResponseEmbedded.md) + - [ListSettlementCaptures200Response](docs/ListSettlementCaptures200Response.md) + - [ListSettlementCaptures200ResponseEmbedded](docs/ListSettlementCaptures200ResponseEmbedded.md) + - [ListSettlementChargebacks200Response](docs/ListSettlementChargebacks200Response.md) + - [ListSettlementChargebacks200ResponseEmbedded](docs/ListSettlementChargebacks200ResponseEmbedded.md) + - [ListSettlementPayments200Response](docs/ListSettlementPayments200Response.md) + - [ListSettlementPayments200ResponseEmbedded](docs/ListSettlementPayments200ResponseEmbedded.md) + - [ListSettlementRefunds200Response](docs/ListSettlementRefunds200Response.md) + - [ListSettlementRefunds200ResponseEmbedded](docs/ListSettlementRefunds200ResponseEmbedded.md) + - [ListSettlements200Response](docs/ListSettlements200Response.md) + - [ListSettlements200ResponseEmbedded](docs/ListSettlements200ResponseEmbedded.md) + - [ListSubscriptions200Response](docs/ListSubscriptions200Response.md) + - [ListSubscriptions200ResponseEmbedded](docs/ListSubscriptions200ResponseEmbedded.md) + - [ListTerminals200Response](docs/ListTerminals200Response.md) + - [ListTerminals200ResponseEmbedded](docs/ListTerminals200ResponseEmbedded.md) + - [ListWebhooks200Response](docs/ListWebhooks200Response.md) + - [ListWebhooks200ResponseEmbedded](docs/ListWebhooks200ResponseEmbedded.md) + - [Locale](docs/Locale.md) + - [LocaleResponse](docs/LocaleResponse.md) + - [MandateDetailsCardLabel](docs/MandateDetailsCardLabel.md) + - [MandateDetailsCardLabelResponse](docs/MandateDetailsCardLabelResponse.md) + - [MandateMethod](docs/MandateMethod.md) + - [MandateMethodResponse](docs/MandateMethodResponse.md) + - [MandateRequest](docs/MandateRequest.md) + - [MandateResponse](docs/MandateResponse.md) + - [MandateStatus](docs/MandateStatus.md) + - [Metadata](docs/Metadata.md) + - [Method](docs/Method.md) + - [MethodIssuerStatus](docs/MethodIssuerStatus.md) + - [MethodResponse](docs/MethodResponse.md) + - [MethodStatus](docs/MethodStatus.md) + - [Mode](docs/Mode.md) + - [OnboardingStatus](docs/OnboardingStatus.md) + - [OrganizationVatRegulation](docs/OrganizationVatRegulation.md) + - [PaymentAddress](docs/PaymentAddress.md) + - [PaymentDetailsCardAudition](docs/PaymentDetailsCardAudition.md) + - [PaymentDetailsCardAuditionResponse](docs/PaymentDetailsCardAuditionResponse.md) + - [PaymentDetailsCardFunding](docs/PaymentDetailsCardFunding.md) + - [PaymentDetailsCardFundingResponse](docs/PaymentDetailsCardFundingResponse.md) + - [PaymentDetailsCardLabel](docs/PaymentDetailsCardLabel.md) + - [PaymentDetailsCardLabelResponse](docs/PaymentDetailsCardLabelResponse.md) + - [PaymentDetailsCardSecurity](docs/PaymentDetailsCardSecurity.md) + - [PaymentDetailsCardSecurityResponse](docs/PaymentDetailsCardSecurityResponse.md) + - [PaymentDetailsFailureReason](docs/PaymentDetailsFailureReason.md) + - [PaymentDetailsFailureReasonResponse](docs/PaymentDetailsFailureReasonResponse.md) + - [PaymentDetailsFeeRegion](docs/PaymentDetailsFeeRegion.md) + - [PaymentDetailsFeeRegionResponse](docs/PaymentDetailsFeeRegionResponse.md) + - [PaymentDetailsReceiptCardReadMethod](docs/PaymentDetailsReceiptCardReadMethod.md) + - [PaymentDetailsReceiptCardReadMethodResponse](docs/PaymentDetailsReceiptCardReadMethodResponse.md) + - [PaymentDetailsReceiptCardVerificationMethod](docs/PaymentDetailsReceiptCardVerificationMethod.md) + - [PaymentDetailsReceiptCardVerificationMethodResponse](docs/PaymentDetailsReceiptCardVerificationMethodResponse.md) + - [PaymentDetailsSellerProtection](docs/PaymentDetailsSellerProtection.md) + - [PaymentDetailsSellerProtectionResponse](docs/PaymentDetailsSellerProtectionResponse.md) + - [PaymentDetailsWallet](docs/PaymentDetailsWallet.md) + - [PaymentDetailsWalletResponse](docs/PaymentDetailsWalletResponse.md) + - [PaymentLineItem](docs/PaymentLineItem.md) + - [PaymentLineItemResponse](docs/PaymentLineItemResponse.md) + - [PaymentLineType](docs/PaymentLineType.md) + - [PaymentLineTypeResponse](docs/PaymentLineTypeResponse.md) + - [PaymentLinkResponse](docs/PaymentLinkResponse.md) + - [PaymentLinkSequenceType](docs/PaymentLinkSequenceType.md) + - [PaymentLinkSequenceTypeResponse](docs/PaymentLinkSequenceTypeResponse.md) + - [PaymentListRoutes200Response](docs/PaymentListRoutes200Response.md) + - [PaymentListRoutes200ResponseEmbedded](docs/PaymentListRoutes200ResponseEmbedded.md) + - [PaymentListRoutes200ResponseLinks](docs/PaymentListRoutes200ResponseLinks.md) + - [PaymentMethod](docs/PaymentMethod.md) + - [PaymentRequest](docs/PaymentRequest.md) + - [PaymentResponse](docs/PaymentResponse.md) + - [PaymentStatus](docs/PaymentStatus.md) + - [ProfileReviewStatus](docs/ProfileReviewStatus.md) + - [ProfileReviewStatusResponse](docs/ProfileReviewStatusResponse.md) + - [ProfileStatus](docs/ProfileStatus.md) + - [ProfilesProfileIdMethodsIdProfileIdParameter](docs/ProfilesProfileIdMethodsIdProfileIdParameter.md) + - [RecurringLineItem](docs/RecurringLineItem.md) + - [RefundExternalReferenceType](docs/RefundExternalReferenceType.md) + - [RefundExternalReferenceTypeResponse](docs/RefundExternalReferenceTypeResponse.md) + - [RefundRequest](docs/RefundRequest.md) + - [RefundRoutingReversalsSourceType](docs/RefundRoutingReversalsSourceType.md) + - [RefundStatus](docs/RefundStatus.md) + - [ReleaseAuthorizationRequest](docs/ReleaseAuthorizationRequest.md) + - [RequestApplePayPaymentSessionRequest](docs/RequestApplePayPaymentSessionRequest.md) + - [RouteCreateRequest](docs/RouteCreateRequest.md) + - [RouteCreateRequestDestination](docs/RouteCreateRequestDestination.md) + - [RouteCreateResponse](docs/RouteCreateResponse.md) + - [RouteDestinationType](docs/RouteDestinationType.md) + - [RouteDestinationTypeResponse](docs/RouteDestinationTypeResponse.md) + - [RouteGetResponse](docs/RouteGetResponse.md) + - [SalesInvoiceDiscount](docs/SalesInvoiceDiscount.md) + - [SalesInvoiceDiscountResponse](docs/SalesInvoiceDiscountResponse.md) + - [SalesInvoiceDiscountType](docs/SalesInvoiceDiscountType.md) + - [SalesInvoiceDiscountTypeResponse](docs/SalesInvoiceDiscountTypeResponse.md) + - [SalesInvoiceEmailDetails](docs/SalesInvoiceEmailDetails.md) + - [SalesInvoiceLineItem](docs/SalesInvoiceLineItem.md) + - [SalesInvoiceLineItemResponse](docs/SalesInvoiceLineItemResponse.md) + - [SalesInvoicePaymentDetails](docs/SalesInvoicePaymentDetails.md) + - [SalesInvoicePaymentDetailsResponse](docs/SalesInvoicePaymentDetailsResponse.md) + - [SalesInvoicePaymentDetailsSource](docs/SalesInvoicePaymentDetailsSource.md) + - [SalesInvoicePaymentDetailsSourceResponse](docs/SalesInvoicePaymentDetailsSourceResponse.md) + - [SalesInvoicePaymentTerm](docs/SalesInvoicePaymentTerm.md) + - [SalesInvoicePaymentTermResponse](docs/SalesInvoicePaymentTermResponse.md) + - [SalesInvoiceRecipient](docs/SalesInvoiceRecipient.md) + - [SalesInvoiceRecipientLocale](docs/SalesInvoiceRecipientLocale.md) + - [SalesInvoiceRecipientLocaleResponse](docs/SalesInvoiceRecipientLocaleResponse.md) + - [SalesInvoiceRecipientResponse](docs/SalesInvoiceRecipientResponse.md) + - [SalesInvoiceRecipientType](docs/SalesInvoiceRecipientType.md) + - [SalesInvoiceRecipientTypeResponse](docs/SalesInvoiceRecipientTypeResponse.md) + - [SalesInvoiceStatus](docs/SalesInvoiceStatus.md) + - [SalesInvoiceStatusResponse](docs/SalesInvoiceStatusResponse.md) + - [SalesInvoiceVatMode](docs/SalesInvoiceVatMode.md) + - [SalesInvoiceVatModeResponse](docs/SalesInvoiceVatModeResponse.md) + - [SalesInvoiceVatScheme](docs/SalesInvoiceVatScheme.md) + - [SalesInvoiceVatSchemeResponse](docs/SalesInvoiceVatSchemeResponse.md) + - [SequenceType](docs/SequenceType.md) + - [SequenceTypeResponse](docs/SequenceTypeResponse.md) + - [SettlementStatus](docs/SettlementStatus.md) + - [StatusReason](docs/StatusReason.md) + - [SubGroup](docs/SubGroup.md) + - [SubTotals](docs/SubTotals.md) + - [SubmitOnboardingDataRequest](docs/SubmitOnboardingDataRequest.md) + - [SubmitOnboardingDataRequestOrganization](docs/SubmitOnboardingDataRequestOrganization.md) + - [SubmitOnboardingDataRequestProfile](docs/SubmitOnboardingDataRequestProfile.md) + - [SubscriptionMethod](docs/SubscriptionMethod.md) + - [SubscriptionMethodResponse](docs/SubscriptionMethodResponse.md) + - [SubscriptionRequest](docs/SubscriptionRequest.md) + - [SubscriptionResponse](docs/SubscriptionResponse.md) + - [SubscriptionStatus](docs/SubscriptionStatus.md) + - [TerminalBrand](docs/TerminalBrand.md) + - [TerminalModel](docs/TerminalModel.md) + - [TerminalStatus](docs/TerminalStatus.md) + - [UpdatePaymentLinkRequest](docs/UpdatePaymentLinkRequest.md) + - [UpdatePaymentRequest](docs/UpdatePaymentRequest.md) + - [UpdateProfileRequest](docs/UpdateProfileRequest.md) + - [UpdateSubscriptionRequest](docs/UpdateSubscriptionRequest.md) + - [UpdateValuesSalesInvoice](docs/UpdateValuesSalesInvoice.md) + - [UpdateWebhookRequest](docs/UpdateWebhookRequest.md) + - [Url](docs/Url.md) + - [UrlNullable](docs/UrlNullable.md) + - [Voucher](docs/Voucher.md) + - [VoucherContractor](docs/VoucherContractor.md) + - [VoucherImage](docs/VoucherImage.md) + - [WebhookEventTypes](docs/WebhookEventTypes.md) + - [WebhookEventTypesResponse](docs/WebhookEventTypesResponse.md) + - [WebhookStatus](docs/WebhookStatus.md) + + +To get access to the crate's generated documentation, use: + +``` +cargo doc --open +``` + +## Author + + + diff --git a/api.yml b/api.yml new file mode 100644 index 0000000..a5d43f4 --- /dev/null +++ b/api.yml @@ -0,0 +1,37642 @@ +openapi: 3.1.0 +info: + title: Mollie API + version: 1.0.0 + license: + name: Attribution-NonCommercial-ShareAlike 4.0 International + identifier: CC-BY-NC-SA-4.0 +servers: + - url: https://api.mollie.com/v2 +security: + - apiKey: [] + - oAuth: [] +tags: + - name: Balance Transfers API + description: Operations related to the Balance Transfers API + - name: Balances API + description: Operations related to the Balances API + - name: Capabilities API + description: Operations related to the Capabilities API + - name: Captures API + description: Operations related to the Captures API + - name: Chargebacks API + description: Operations related to the Chargebacks API + - name: Client Links API + description: Operations related to the Client Links API + - name: Clients API + description: Operations related to the Clients API + - name: Customers API + description: Operations related to the Customers API + - name: Delayed Routing API + description: Operations related to the Delayed Routing API + - name: Invoices API + description: Operations related to the Invoices API + - name: Mandates API + description: Operations related to the Mandates API + - name: Methods API + description: Operations related to the Methods API + - name: Onboarding API + description: Operations related to the Onboarding API + - name: Organizations API + description: Operations related to the Organizations API + - name: Payment Links API + description: Operations related to the Payment Links API + - name: Payments API + description: Operations related to the Payments API + - name: Permissions API + description: Operations related to the Permissions API + - name: Profiles API + description: Operations related to the Profiles API + - name: Refunds API + description: Operations related to the Refunds API + - name: Sales Invoices API + description: Operations related to the Sales Invoices API + - name: Settlements API + description: Operations related to the Settlements API + - name: Subscriptions API + description: Operations related to the Subscriptions API + - name: Terminals API + description: Operations related to the Terminals API + - name: Wallets API + description: Operations related to the Wallets API + - name: Webhook Events API + description: Operations related to the Webhook Events API + - name: Webhooks API + description: Operations related to the Webhooks API +paths: + /balances: + get: + summary: List balances + x-speakeasy-name-override: list + tags: + - Balances API + operationId: list-balances + security: + - oAuth: + - balances.read + description: |- + Retrieve a list of the organization's balances, including the primary balance. + + The results are paginated. + parameters: + - name: currency + description: 'Optionally only return balances with the given currency. For example: `EUR`.' + in: query + schema: + type: + - string + - 'null' + example: EUR + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: bal_gVMhHKqSSRYJyPsuoPNFH + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of balance objects. For a complete reference of the balance + object, refer to the [Get balance endpoint](get-balance) documentation. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + balances: + description: |- + An array of balance objects. For a complete reference of + the balance object, refer to the [Get balance endpoint](get-balance) documentation. + type: array + items: + $ref: '#/components/schemas/entity-balance' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-balances-200-1: + summary: A list of balance objects + value: + count: 5 + _embedded: + balances: + - resource: balance + id: bal_gVMhHKqSSRYJyPsuoPNFH + mode: live + createdAt: '2022-07-12T09:50:21+00:00' + currency: EUR + description: Primary balance + availableAmount: + currency: EUR + value: '905.25' + pendingAmount: + currency: EUR + value: '0.00' + transferFrequency: daily + transferThreshold: + currency: EUR + value: '5.00' + transferReference: RF12-3456-7890-1234 + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: NL55INGB0000000000 + status: active + _links: + self: + href: ... + type: application/hal+json + - {} + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/balances?from=bal_gVMhHKqSSRYJyPsuoPABC&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-balances-200-2: + summary: List balances + value: + _embedded: + balances: + - resource: balance + id: bal_xRc8rYKTwJeENdvKouVJH + mode: live + createdAt: '2022-07-12T09:50:21+00:00' + currency: CHF + availableAmount: + value: '0.00' + currency: CHF + pendingAmount: + value: '0.00' + currency: CHF + status: active + transferFrequency: monthly + transferThreshold: + value: '50.00' + currency: CHF + transferReference: null + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: NL55INGB0000000000 + _links: + self: + href: ... + type: application/hal+json + - resource: balance + id: bal_CKjKwQdjCwCSArXFAJNFH + mode: live + createdAt: '2019-12-06T10:09:32+00:00' + currency: EUR + availableAmount: + value: '3.82' + currency: EUR + pendingAmount: + value: '5.41' + currency: EUR + status: active + transferFrequency: daily + transferThreshold: + value: '5.00' + currency: EUR + transferReference: null + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: '***' + _links: + self: + href: ... + type: application/hal+json + count: 2 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/balances \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $balances = $mollie->send( + new GetPaginatedBalanceRequest() + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + balances = mollie_client.balances.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + balances = Mollie::Balance.all + x-speakeasy-group: balances + /balances/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: bal_gVMhHKqSSRYJyPsuoPNFH + get: + summary: Get balance + x-speakeasy-name-override: get + tags: + - Balances API + operationId: get-balance + security: + - oAuth: + - balances.read + description: |- + When processing payments with Mollie, we put all pending funds — usually + minus Mollie fees — on a balance. Once you have linked a bank account to your Mollie account, we can pay out your + balance towards this bank account. + + With the Balances API you can retrieve your current balance. The response + includes two amounts: + + * The *pending amount*. These are payments that have been marked as `paid`, + but are not yet available on your balance. + * The *available amount*. This is the amount that you can get paid out to + your bank account, or use for refunds. + + With instant payment methods like iDEAL, payments are moved to the available + balance instantly. With slower payment methods, like credit card for example, it can take a few days before the + funds are available on your balance. These funds will be shown under the *pending amount* in the meanwhile. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The balance object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-balance' + examples: + get-balance-200-1: + summary: The balance object + value: + resource: balance + id: bal_gVMhHKqSSRYJyPsuoPNFH + mode: live + createdAt: '2019-12-06T10:09:32+00:00' + currency: EUR + description: Primary balance + availableAmount: + currency: EUR + value: '905.25' + pendingAmount: + currency: EUR + value: '0.00' + transferFrequency: daily + transferThreshold: + currency: EUR + value: '5.00' + transferReference: RF12-3456-7890-1234 + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: NL55INGB0000000000 + status: active + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + get-balance-200-2: + summary: Get balance + value: + resource: balance + id: bal_CKjKwQdjCwCSArXFAJNFH + mode: live + createdAt: '2019-12-06T10:09:32+00:00' + currency: EUR + availableAmount: + value: '3.82' + currency: EUR + pendingAmount: + value: '5.41' + currency: EUR + status: active + transferFrequency: daily + transferThreshold: + value: '5.00' + currency: EUR + transferReference: null + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: NL55INGB0000000000 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/balances/bal_gVMhHKqSSRYJyPsuoPNFH \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $balance = $mollie->send( + new GetBalanceRequest("bal_gVMhHKqSSRYJyPsuoPNFH") + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + balance = mollie_client.balances.get("bal_gVMhHKqSSRYJyPsuoPNFH") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + balance = Mollie::Balance.get('bal_gVMhHKqSSRYJyPsuoPNFH') + x-speakeasy-group: balances + /balances/primary: + get: + summary: Get primary balance + x-speakeasy-name-override: get-primary + tags: + - Balances API + operationId: get-primary-balance + security: + - oAuth: + - balances.read + description: |- + Retrieve the primary balance. This is the balance of your account's primary + currency, where all payments are settled to by default. + + This endpoint is a convenient alias of the [Get balance](get-balance) + endpoint. + responses: + '200': + description: The primary balance object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-balance' + examples: + get-primary-balance-200-1: + summary: Get primary balance + value: + resource: balance + id: bal_CKjKwQdjCwCSArXFAJNFH + mode: live + createdAt: '2019-12-06T10:09:32+00:00' + currency: EUR + availableAmount: + value: '3.82' + currency: EUR + pendingAmount: + value: '5.41' + currency: EUR + status: active + transferFrequency: daily + transferThreshold: + value: '5.00' + currency: EUR + transferReference: null + transferDestination: + type: bank-account + beneficiaryName: John Doe + bankAccount: NL55INGB0000000000 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/balances/primary \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $balance = $mollie->send( + new GetBalanceRequest("primary") + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + balance = mollie_client.balances.get("primary") + - language: ruby + code: '' + x-speakeasy-group: balances + parameters: + - $ref: '#/components/parameters/idempotency-key' + /balances/{balanceId}/report: + parameters: + - $ref: '#/components/parameters/parent-balance-id' + get: + summary: Get balance report + x-speakeasy-name-override: get-report + tags: + - Balances API + operationId: get-balance-report + security: + - oAuth: + - balance-reports.read + description: |- + Retrieve a summarized report for all transactions on a given balance within a given timeframe. + + The API also provides a detailed report on all 'prepayments' for Mollie fees that were deducted from your balance + during the reported period, ahead of your Mollie invoice. + + The alias `primary` can be used instead of the balance ID to refer to the + organization's primary balance. + parameters: + - name: from + description: |- + The start date of the report, in `YYYY-MM-DD` format. The from date is + 'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will + include transactions from 2024-01-01 0:00:00 CET and onwards. + in: query + schema: + type: string + example: '2024-01-01' + required: true + - name: until + description: |- + The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time. + This means a report with for example `until=2024-02-01` will include transactions up until + 2024-01-31 23:59:59 CET. + in: query + schema: + type: string + example: '2024-02-01' + required: true + - name: grouping + description: |- + You can retrieve reports in two different formats. With the `status-balances` format, transactions are grouped + by status (e.g. `pending`, `available`), then by transaction type, and then by other sub-groupings where + available (e.g. payment method). + + With the `transaction-categories` format, transactions are grouped by + transaction type, then by status, and then again by other sub-groupings where available. + in: query + schema: + type: + - string + - 'null' + enum: + - status-balances + - transaction-categories + example: status-balances + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The balance report object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-balance-report' + examples: + get-balance-report-200-1: + summary: The balance report object + value: + resource: balance-report + balanceId: bal_gVMhHKqSSRYJyPsuoPNFH + timeZone: Europe/Amsterdam + from: '2024-01-01' + until: '2024-01-31' + grouping: transaction-categories + totals: + open: + available: + amount: + currency: EUR + value: '0.00' + pending: + amount: + currency: EUR + value: '0.00' + payments: + immediatelyAvailable: + amount: + currency: EUR + value: '0.00' + pending: + amount: + currency: EUR + value: '4.98' + subtotals: + - transactionType: payment + count: 1 + amount: + currency: EUR + value: '4.98' + subtotals: + - method: ideal + count: 1 + amount: + currency: EUR + value: '4.98' + movedToAvailable: + amount: + currency: EUR + value: '0.00' + refunds: {} + capital: {} + chargebacks: {} + transfers: {} + fee-prepayments: + immediatelyAvailable: + amount: + currency: EUR + value: '0.00' + movedToAvailable: + amount: + currency: EUR + value: '-0.36' + subtotals: + - prepaymentPartType: fee + count: 1 + amount: + currency: EUR + value: '-0.29' + subtotals: + - feeType: payment-fee + method: ideal + count: 1 + amount: + currency: EUR + value: '-0.29' + - prepaymentPartType: fee-vat + amount: + currency: EUR + value: '-0.0609' + - prepaymentPartType: fee-rounding-compensation + amount: + currency: EUR + value: '-0.0091' + pending: + amount: + currency: EUR + value: '-0.36' + subtotals: [] + corrections: {} + close: + available: + amount: + currency: EUR + value: '0.00' + pending: + amount: + currency: EUR + value: '4.32' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + get-balance-report-200-2: + summary: Get balance report - status-balances grouping + x-request: ./requests.yaml#/oauth-get-balance-report---status-balances-grouping + value: + resource: balance-report + balanceId: bal_CKjKwQdjCwCSArXFAJNFH + timeZone: Europe/Amsterdam + from: '2022-12-01' + until: '2022-12-16' + grouping: status-balances + totals: + pendingBalance: + open: + amount: + value: '5.21' + currency: EUR + pending: + amount: + value: '4380.51' + currency: EUR + subtotals: + - transactionType: payment + count: 82 + amount: + value: '4382.75' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '1.00' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '1.00' + currency: EUR + - method: ideal + count: 7 + amount: + value: '0.30' + currency: EUR + - method: pointofsale + count: 74 + amount: + value: '4381.45' + currency: EUR + - transactionType: fee-prepayment + amount: + value: '-2.24' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - feeType: payment-fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '-0.279' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '-0.279' + currency: EUR + - method: ideal + count: 7 + amount: + value: '-1.96' + currency: EUR + - prepaymentPartType: fee-rounding-compensation + amount: + value: '-0.001' + currency: EUR + - transactionType: pending-rolling-reserve + amount: + value: '-0.10' + currency: EUR + - transactionType: to-be-released-rolling-reserve + amount: + value: '0.10' + currency: EUR + movedToAvailable: + amount: + value: '1080.31' + currency: EUR + subtotals: + - transactionType: payment + count: 70 + amount: + value: '1082.65' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '1.00' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '1.00' + currency: EUR + - method: ideal + count: 7 + amount: + value: '0.30' + currency: EUR + - method: pointofsale + count: 62 + amount: + value: '1081.35' + currency: EUR + - transactionType: fee-prepayment + amount: + value: '-2.24' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - feeType: payment-fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '-0.279' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '-0.279' + currency: EUR + - method: ideal + count: 7 + amount: + value: '-1.96' + currency: EUR + - prepaymentPartType: fee-rounding-compensation + amount: + value: '-0.001' + currency: EUR + - transactionType: held-rolling-reserve + amount: + value: '-0.10' + currency: EUR + close: + amount: + value: '3305.41' + currency: EUR + availableBalance: + open: + amount: + value: '2.25' + currency: EUR + movedFromPending: + amount: + value: '1080.31' + currency: EUR + subtotals: + - transactionType: payment + count: 70 + amount: + value: '1082.65' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '1.00' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '1.00' + currency: EUR + - method: ideal + count: 7 + amount: + value: '0.30' + currency: EUR + - method: pointofsale + count: 62 + amount: + value: '1081.35' + currency: EUR + - transactionType: fee-prepayment + amount: + value: '-2.24' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - feeType: payment-fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '-0.279' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '-0.279' + currency: EUR + - method: ideal + count: 7 + amount: + value: '-1.96' + currency: EUR + - prepaymentPartType: fee-rounding-compensation + amount: + value: '-0.001' + currency: EUR + - transactionType: held-rolling-reserve + amount: + value: '-0.10' + currency: EUR + immediatelyAvailable: + amount: + value: '-1078.74' + currency: EUR + subtotals: + - transactionType: refund + count: 4 + amount: + value: '-0.12' + currency: EUR + subtotals: + - method: ideal + count: 1 + amount: + value: '-0.01' + currency: EUR + - method: pointofsale + count: 3 + amount: + value: '-0.11' + currency: EUR + - transactionType: fee-prepayment + amount: + value: '-1.00' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 4 + amount: + value: '-1.00' + currency: EUR + subtotals: + - feeType: refund-fee + count: 4 + amount: + value: '-1.00' + currency: EUR + - transactionType: outgoing-transfer + count: 1 + amount: + value: '-1077.62' + currency: EUR + close: + amount: + value: '3.82' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + get-balance-report-200-3: + summary: Get balance report - transaction-categories grouping + x-request: ./requests.yaml#/oauth-get-balance-report---transaction-categories-grouping + value: + resource: balance-report + balanceId: bal_CKjKwQdjCwCSArXFAJNFH + timeZone: Europe/Amsterdam + from: '2022-12-01' + until: '2022-12-16' + grouping: transaction-categories + totals: + open: + pending: + amount: + value: '5.21' + currency: EUR + available: + amount: + value: '2.25' + currency: EUR + payments: + pending: + amount: + value: '4382.75' + currency: EUR + subtotals: + - transactionType: payment + count: 82 + amount: + value: '4382.75' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '1.00' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '1.00' + currency: EUR + - method: ideal + count: 7 + amount: + value: '0.30' + currency: EUR + - method: pointofsale + count: 74 + amount: + value: '4381.45' + currency: EUR + - transactionType: pending-rolling-reserve + amount: + value: '-0.10' + currency: EUR + - transactionType: to-be-released-rolling-reserve + amount: + value: '0.10' + currency: EUR + movedToAvailable: + amount: + value: '1082.55' + currency: EUR + subtotals: + - transactionType: payment + count: 70 + amount: + value: '1082.65' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '1.00' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '1.00' + currency: EUR + - method: ideal + count: 7 + amount: + value: '0.30' + currency: EUR + - method: pointofsale + count: 62 + amount: + value: '1081.35' + currency: EUR + - transactionType: held-rolling-reserve + amount: + value: '-0.10' + currency: EUR + immediatelyAvailable: + amount: + value: '0.00' + currency: EUR + refunds: + pending: + amount: + value: '0.00' + currency: EUR + movedToAvailable: + amount: + value: '0.00' + currency: EUR + immediatelyAvailable: + amount: + value: '-0.12' + currency: EUR + subtotals: + - transactionType: refund + count: 4 + amount: + value: '-0.12' + currency: EUR + subtotals: + - method: ideal + count: 1 + amount: + value: '-0.01' + currency: EUR + - method: pointofsale + count: 3 + amount: + value: '-0.11' + currency: EUR + chargebacks: + pending: + amount: + value: '0.00' + currency: EUR + movedToAvailable: + amount: + value: '0.00' + currency: EUR + immediatelyAvailable: + amount: + value: '0.00' + currency: EUR + capital: + pending: + amount: + value: '0.00' + currency: EUR + movedToAvailable: + amount: + value: '0.00' + currency: EUR + immediatelyAvailable: + amount: + value: '0.00' + currency: EUR + transfers: + pending: + amount: + value: '0.00' + currency: EUR + movedToAvailable: + amount: + value: '0.00' + currency: EUR + immediatelyAvailable: + amount: + value: '-1077.62' + currency: EUR + subtotals: + - transactionType: outgoing-transfer + count: 1 + amount: + value: '-1077.62' + currency: EUR + fee-prepayments: + pending: + amount: + value: '-2.24' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - feeType: payment-fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '-0.279' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '-0.279' + currency: EUR + - method: ideal + count: 7 + amount: + value: '-1.96' + currency: EUR + - prepaymentPartType: fee-rounding-compensation + amount: + value: '-0.001' + currency: EUR + movedToAvailable: + amount: + value: '-2.24' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - feeType: payment-fee + count: 8 + amount: + value: '-2.239' + currency: EUR + subtotals: + - method: creditcard + count: 1 + amount: + value: '-0.279' + currency: EUR + subtotals: + - cardIssuer: amex + cardAudience: other + cardRegion: intra-eea + count: 1 + amount: + value: '-0.279' + currency: EUR + - method: ideal + count: 7 + amount: + value: '-1.96' + currency: EUR + - prepaymentPartType: fee-rounding-compensation + amount: + value: '-0.001' + currency: EUR + immediatelyAvailable: + amount: + value: '-1.00' + currency: EUR + subtotals: + - prepaymentPartType: fee + count: 4 + amount: + value: '-1.00' + currency: EUR + subtotals: + - feeType: refund-fee + count: 4 + amount: + value: '-1.00' + currency: EUR + corrections: + pending: + amount: + value: '0.00' + currency: EUR + movedToAvailable: + amount: + value: '0.00' + currency: EUR + immediatelyAvailable: + amount: + value: '0.00' + currency: EUR + close: + pending: + amount: + value: '3305.41' + currency: EUR + available: + amount: + value: '3.82' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request is invalid. For example, the `from` date is after `until` date. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'from' field is after 'until' field + field: from + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/balances/bal_gVMhHKqSSRYJyPsuoPNFH/report?from=2024-01-01&until=2024-02-01&grouping=transaction-categories \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $report = $mollie->send( + new GetBalanceReportRequest( + balanceId: "bal_gVMhHKqSSRYJyPsuoPNFH", + from: new \DateTime("2024-01-01"), + until: new \DateTime("2024-02-01"), + grouping: "transaction-categories" + ) + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: balances + /balances/{balanceId}/transactions: + parameters: + - $ref: '#/components/parameters/parent-balance-id' + get: + summary: List balance transactions + x-speakeasy-name-override: list-transactions + tags: + - Balances API + operationId: list-balance-transactions + security: + - oAuth: + - balances.read + description: |- + Retrieve a list of all balance transactions. Transactions include for + example payments, refunds, chargebacks, and settlements. + + For an aggregated report of these balance transactions, refer to the [Get + balance report](get-balance-report) endpoint. + + The alias `primary` can be used instead of the balance ID to refer to the + organization's primary balance. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: baltr_QM24QwzUWR4ev4Xfgyt29A + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of balance transaction objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + balance_transactions: + description: An array of balance transaction objects. + type: array + items: + $ref: '#/components/schemas/entity-balance-transaction' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-balance-transactions-200-1: + summary: A list of balance transaction objects + value: + count: 5 + _embedded: + balance_transactions: + - resource: balance-transaction + id: baltr_QM24QwzUWR4ev4Xfgyt29A + type: refund + resultAmount: + currency: EUR + value: '-10.25' + initialAmount: + currency: EUR + value: '-10.00' + deductions: + currency: EUR + value: '-0.25' + createdAt: '2022-12-16T11:23:25+00:00' + context: + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + refundId: re_4qqhO89gsT + - resource: balance-transaction + id: baltr_WhmDwNYR87FPDbiwBhUXCh + type: payment + resultAmount: + currency: EUR + value: '9.71' + initialAmount: + currency: EUR + value: '10.00' + deductions: + currency: EUR + value: '-0.29' + createdAt: '2022-12-16T11:23:25+00:00' + context: + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/balances/bal_gVMhHKqSSRYJyPsuoPNFH/transactions?from=baltr_rXeW2yPqqDUyfAqq8fS5Bg&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-balance-transactions-200-2: + summary: List balance transactions + value: + _embedded: + balance_transactions: + - resource: balance-transaction + id: baltr_Eh5yKgk4PWxsCSJy7bdRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:23:25+00:00' + context: + paymentId: tr_9gX2sjtuh6 + - resource: balance-transaction + id: baltr_BR56v6ZPrVcfy8jbzadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:22:20+00:00' + context: + paymentId: tr_qVamMQaRjN + - resource: balance-transaction + id: baltr_XM3Ye884WheSEsGqyadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:22:12+00:00' + context: + paymentId: tr_vLzZYBN6gd + - resource: balance-transaction + id: baltr_pYs7WdRU9TV9cyxsnadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:20:20+00:00' + context: + paymentId: tr_hhwh2cTWCk + - resource: balance-transaction + id: baltr_vecp57y9tTsnohz2hadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:19:19+00:00' + context: + paymentId: tr_jnTdA4W6Rq + - resource: balance-transaction + id: baltr_s5EKzwZ394TxEcpSaadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:18:12+00:00' + context: + paymentId: tr_xLQaL4nsJT + - resource: balance-transaction + id: baltr_WgQcFW4DS9zNDeWCWadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:17:28+00:00' + context: + paymentId: tr_RSiTUXmzGo + - resource: balance-transaction + id: baltr_ZAbACJF2Nh2PCJysHadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:15:22+00:00' + context: + paymentId: tr_h8mPuFp8hq + - resource: balance-transaction + id: baltr_CM6okJdX7SUFDzXVBadRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:14:16+00:00' + context: + paymentId: tr_kJJrKynq7H + - resource: balance-transaction + id: baltr_Luwmv2RPjWAPVbQsrZdRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:11:16+00:00' + context: + paymentId: tr_hrimCxybrx + - resource: balance-transaction + id: baltr_fNnyBtyVpMaujFHoTZdRH + type: payment + resultAmount: + value: '300.00' + currency: EUR + initialAmount: + value: '300.00' + currency: EUR + createdAt: '2022-12-16T11:07:18+00:00' + context: + paymentId: tr_AxBZBFz2to + - resource: balance-transaction + id: baltr_ZYkNBk6NpH8yyanezZbRH + type: payment + resultAmount: + value: '1.00' + currency: EUR + initialAmount: + value: '1.00' + currency: EUR + createdAt: '2022-12-15T16:40:16+00:00' + context: + paymentId: tr_dZvMYBkaMd + - resource: balance-transaction + id: baltr_KouV3xWwyPSimHtPuZbRH + type: payment + resultAmount: + value: '1.00' + currency: EUR + initialAmount: + value: '1.00' + currency: EUR + createdAt: '2022-12-15T16:39:22+00:00' + context: + paymentId: tr_iNkGFF75jh + - resource: balance-transaction + id: baltr_R7J2QLNXBHozou2sygaRH + type: payment + resultAmount: + value: '0.62' + currency: EUR + initialAmount: + value: '1.00' + currency: EUR + deductions: + value: '-0.38' + currency: EUR + createdAt: '2022-12-15T08:32:17+00:00' + context: + paymentId: tr_5ZYFyKSBLy + - resource: balance-transaction + id: baltr_wYLbjfBDPPbhktwP9iYRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-14T14:11:11+00:00' + context: + paymentId: tr_iSQFK5EVov + - resource: balance-transaction + id: baltr_bqd6QKaPMpgWKLRAYdYRH + type: payment + resultAmount: + value: '1.00' + currency: EUR + initialAmount: + value: '1.00' + currency: EUR + createdAt: '2022-12-14T13:26:18+00:00' + context: + paymentId: tr_KacasZ6Mep + - resource: balance-transaction + id: baltr_EW4yXvwwERRkNTxGUHYRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-14T10:10:29+00:00' + context: + paymentId: tr_PsZAZznzcg + - resource: balance-transaction + id: baltr_MU5s5vSHYDRSWnYbJBYRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-14T09:10:17+00:00' + context: + paymentId: tr_eUo3wbBuSe + - resource: balance-transaction + id: baltr_UAzMEogYhsKnBiNQF5YRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-14T08:11:12+00:00' + context: + paymentId: tr_wgCSd9H32d + - resource: balance-transaction + id: baltr_tRCT9FVTN4gmoYsetiXRH + type: outgoing-transfer + resultAmount: + value: '-1077.62' + currency: EUR + initialAmount: + value: '-1077.62' + currency: EUR + createdAt: '2022-12-14T05:02:25+00:00' + context: + settlementId: stl_nyjwa2 + transferId: trf_nyjwa2 + - resource: balance-transaction + id: baltr_mCT66L9cfEWbqgNFwFWRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-13T15:23:17+00:00' + context: + paymentId: tr_Q4P8DoWGhA + - resource: balance-transaction + id: baltr_qb8AuKkzZQ4ipFpbkDWRH + type: refund + resultAmount: + value: '-0.30' + currency: EUR + initialAmount: + value: '-0.05' + currency: EUR + deductions: + value: '-0.25' + currency: EUR + createdAt: '2022-12-13T15:01:56+00:00' + context: + paymentId: tr_PsZAZznzcg + refundId: re_6Z8eVo5cfB + - resource: balance-transaction + id: baltr_HBLVK3kVRhmZWSZWQ2WRH + type: payment + resultAmount: + value: '0.05' + currency: EUR + initialAmount: + value: '0.05' + currency: EUR + createdAt: '2022-12-13T13:11:11+00:00' + context: + paymentId: tr_6suxvyRvh7 + - resource: balance-transaction + id: baltr_C3EMuY25RMvkCHvX72WRH + type: payment + resultAmount: + value: '8.00' + currency: EUR + initialAmount: + value: '8.00' + currency: EUR + createdAt: '2022-12-13T13:08:31+00:00' + context: + paymentId: tr_Avvj4y3vpT + - resource: balance-transaction + id: baltr_GwdyZkuUtckkfqgP72WRH + type: payment + resultAmount: + value: '7.00' + currency: EUR + initialAmount: + value: '7.00' + currency: EUR + createdAt: '2022-12-13T13:08:17+00:00' + context: + paymentId: tr_PipTfbTdSZ + - resource: balance-transaction + id: baltr_r7F48qyzcpeqzRN872WRH + type: payment + resultAmount: + value: '11.00' + currency: EUR + initialAmount: + value: '11.00' + currency: EUR + createdAt: '2022-12-13T13:08:12+00:00' + context: + paymentId: tr_XPn7eZLdHW + - resource: balance-transaction + id: baltr_RGxkRZAqqMUx9uLp62WRH + type: payment + resultAmount: + value: '50.00' + currency: EUR + initialAmount: + value: '50.00' + currency: EUR + createdAt: '2022-12-13T13:08:12+00:00' + context: + paymentId: tr_gwXxqPkEp5 + - resource: balance-transaction + id: baltr_TwHzY2rqhpmWNKdazzVRH + type: payment + resultAmount: + value: '60.00' + currency: EUR + initialAmount: + value: '60.00' + currency: EUR + createdAt: '2022-12-13T13:07:15+00:00' + context: + paymentId: tr_NAmGGiTYFa + - resource: balance-transaction + id: baltr_vEYxvT9jswxgdXfJzzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:07:12+00:00' + context: + paymentId: tr_vhRv8ViBMe + - resource: balance-transaction + id: baltr_NdJB8uc7xB2SZW3zyzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:07:09+00:00' + context: + paymentId: tr_FAncWtTAkc + - resource: balance-transaction + id: baltr_pEM6remSK3UGHDRAuzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:06:19+00:00' + context: + paymentId: tr_qo5gbi9vJS + - resource: balance-transaction + id: baltr_6GusRMZHuWapoEFvtzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:06:17+00:00' + context: + paymentId: tr_SQAnWQTDhk + - resource: balance-transaction + id: baltr_iieu2Lzf52V3KGadtzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:06:14+00:00' + context: + paymentId: tr_SfwMVsgupV + - resource: balance-transaction + id: baltr_e2gtch39TSo6iABHozVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:05:19+00:00' + context: + paymentId: tr_zDnDYuv2pv + - resource: balance-transaction + id: baltr_pmNMcz8GdvwPmvmunzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:05:15+00:00' + context: + paymentId: tr_oHC6fGA79e + - resource: balance-transaction + id: baltr_qFmvrsKMRojS967cnzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:05:12+00:00' + context: + paymentId: tr_CDTPhfQSxX + - resource: balance-transaction + id: baltr_DcLYydj7aMazfaWQnzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:05:10+00:00' + context: + paymentId: tr_hqirWect39 + - resource: balance-transaction + id: baltr_3BoK75R8c2Wuomf9hzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:04:16+00:00' + context: + paymentId: tr_Qj5Hw28wYV + - resource: balance-transaction + id: baltr_9LErqzZoJ9ZDvx3sgzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:04:13+00:00' + context: + paymentId: tr_gKUTkGHf39 + - resource: balance-transaction + id: baltr_AdVYVkaGLzVsnNofgzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:04:11+00:00' + context: + paymentId: tr_sziq4rQGCK + - resource: balance-transaction + id: baltr_HQvvmTk2FCbQJHHcbzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:03:19+00:00' + context: + paymentId: tr_CrYoNkUrVo + - resource: balance-transaction + id: baltr_AHWBoHhsAV8HnQKGbzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:03:16+00:00' + context: + paymentId: tr_jZLuE2xWM5 + - resource: balance-transaction + id: baltr_iej3r8HjzyLLxv95bzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:03:14+00:00' + context: + paymentId: tr_UziwFDQHWB + - resource: balance-transaction + id: baltr_vLqVSaXJ5d8SjNTgazVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:03:10+00:00' + context: + paymentId: tr_Umu5CyUBTK + - resource: balance-transaction + id: baltr_iEgyvSjkCWVbQpREVzVRH + type: payment + resultAmount: + value: '150.00' + currency: EUR + initialAmount: + value: '150.00' + currency: EUR + createdAt: '2022-12-13T13:02:13+00:00' + context: + paymentId: tr_y7iQWhd9jE + - resource: balance-transaction + id: baltr_Cq6pB2qDkPXvXv4wUzVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T13:02:10+00:00' + context: + paymentId: tr_z4bBWATo6R + - resource: balance-transaction + id: baltr_W4XvgZTmFhvoNdPxPzVRH + type: payment + resultAmount: + value: '100.00' + currency: EUR + initialAmount: + value: '100.00' + currency: EUR + createdAt: '2022-12-13T13:01:19+00:00' + context: + paymentId: tr_uKnTrJmuBU + - resource: balance-transaction + id: baltr_SnQyfLUyy6HmHth8GyVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T12:50:14+00:00' + context: + paymentId: tr_DQNgqzsPuV + - resource: balance-transaction + id: baltr_QYAWSE7rV4UraAgSAyVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T12:49:15+00:00' + context: + paymentId: tr_PJM8Uxj2uW + - resource: balance-transaction + id: baltr_oAnC33yT7GXhP7X8AyVRH + type: payment + resultAmount: + value: '10.00' + currency: EUR + initialAmount: + value: '10.00' + currency: EUR + createdAt: '2022-12-13T12:49:12+00:00' + context: + paymentId: tr_DoVqyuZEfg + count: 50 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/balances/bal_CKjKwQdjCwCSArXFAJNFH/transactions?from=baltr_WuSLmsLzeDVRRYAq9yVRH&limit=50 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + '429': + description: Rate Limit has been reached. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 492 + title: Too Many Requests + detail: Too Many Requests in a brief period. Please wait X seconds before retrying + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/balances/bal_gVMhHKqSSRYJyPsuoPNFH/transactions \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $balanceTransactions = $mollie->send( + new GetPaginatedBalanceTransactionRequest("bal_gVMhHKqSSRYJyPsuoPNFH") + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: balances + /settlements: + get: + summary: List settlements + x-speakeasy-name-override: list + tags: + - Settlements API + operationId: list-settlements + security: + - oAuth: + - settlements.read + description: |- + Retrieve a list of all your settlements. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: stl_jDk30akdN + - $ref: '#/components/parameters/list-limit' + - name: balanceId + in: query + description: |- + Provide the token of the balance to filter the settlements by. This is + the balance token that the settlement was settled to. + schema: + $ref: '#/components/schemas/balanceToken' + type: + - string + - 'null' + - name: year + in: query + description: Provide the year to query the settlements. Must be used combined with `month` parameter + schema: + type: + - string + - 'null' + example: '2025' + - name: month + in: query + description: Provide the month to query the settlements. Must be used combined with `year` parameter + schema: + type: + - string + - 'null' + example: '1' + - name: currencies + in: query + description: Provides the currencies to retrieve the settlements. It accepts multiple currencies in a comma-separated format. + schema: + type: + - string + - 'null' + $ref: '#/components/schemas/currencies' + examples: + - EUR + - EUR,GBP + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of settlement objects. For a complete reference of the settlement + object, refer to the [Get settlement endpoint](get-settlement) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - settlements + properties: + settlements: + description: |- + An array of settlement objects. For a complete reference + of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. + type: array + items: + $ref: '#/components/schemas/entity-settlement' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-settlements-200-1: + summary: A list of settlement objects + value: + count: 1 + _embedded: + settlements: + - resource: settlement + id: stl_jDk30akdN + reference: 1234567.2404.03 + status: paidout + createdAt: '2024-04-31T12:50:14+00:00' + amount: + currency: EUR + value: '39.75' + balanceId: bal_3kUf4yU2nT + periods: {} + settledAt: '2024-04-06T09:41:44.0Z' + invoiceId: inv_FrvewDA3Pr + _links: + self: + href: ... + type: application/hal+json + payments: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/payments + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/refunds + type: application/hal+json + chargebacks: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/chargebacks + type: application/hal+json + captures: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/captures + type: application/hal+json + invoice: + href: https://api.mollie.com/v2/invoices/inv_UQgMnkkTFz + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/settlements?from=cst_stTC2WHAuS&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetPaginatedSettlementsRequest(); + + $settlements = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlements = await mollieClient.settlements.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlements = mollie_client.settlements.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + settlements = Mollie::settlement.all + x-speakeasy-group: settlements + /settlements/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: stl_jDk30akdN + get: + summary: Get settlement + x-speakeasy-name-override: get + tags: + - Settlements API + operationId: get-settlement + security: + - oAuth: + - settlements.read + description: |- + Retrieve a single settlement by its ID. + + To lookup settlements by their bank reference, replace the ID in the URL by + a reference. For example: `1234567.2404.03`. + + A settlement represents a transfer of your balance funds to your external bank account. + + Settlements will typically include a report that details what balance transactions have taken place between this + settlement and the previous one. + + For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the + [balance transactions](list-balance-transactions) endpoint. + responses: + '200': + description: The settlement object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-settlement' + examples: + get-settlement-200-1: + summary: The settlement object + value: + resource: settlement + id: stl_jDk30akdN + reference: 1234567.2404.03 + createdAt: '2024-04-06T09:41:44+00:00' + status: paidout + amount: + currency: EUR + value: '39.75' + balanceId: bal_3kUf4yU2nT + invoiceId: inv_FrvewDA3Pr + periods: + '2024': + '04': + revenue: + - description: iDEAL + method: ideal + count: 6 + amountNet: + currency: EUR + value: '86.1000' + amountVat: null + amountGross: + currency: EUR + value: '86.1000' + - description: Refunds iDEAL + method: refund + count: 2 + amountNet: + currency: EUR + value: '-43.2000' + amountVat: null + amountGross: + currency: EUR + value: '-43.2000' + costs: + - description: iDEAL + method: ideal + count: 6 + rate: + fixed: + currency: EUR + value: '0.3500' + percentage: null + amountNet: + currency: EUR + value: '2.1000' + amountVat: + currency: EUR + value: '0.4410' + amountGross: + currency: EUR + value: '2.5410' + - description: Refunds iDEAL + method: refund + count: 2 + rate: + fixed: + currency: EUR + value: '0.2500' + percentage: null + amountNet: + currency: EUR + value: '0.5000' + amountVat: + currency: EUR + value: '0.1050' + amountGross: + currency: EUR + value: '0.6050' + invoiceId: inv_FrvewDA3Pr + settledAt: '2024-04-06T09:41:44.0Z' + _links: + self: + href: ... + type: application/hal+json + payments: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/payments + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/refunds + type: application/hal+json + chargebacks: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/chargebacks + type: application/hal+json + captures: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/captures + type: application/hal+json + invoice: + href: https://api.mollie.com/v2/invoices/inv_FrvewDA3Pr + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/stl_jDk30akdN \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetSettlementRequest('stl_jDk30akdN'); + + $settlement = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlements.get('stl_jDk30akdN'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("stl_jDk30akdN") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + settlement = Mollie::settlement.get('stl_jDk30akdN') + x-speakeasy-group: settlements + parameters: + - $ref: '#/components/parameters/idempotency-key' + /settlements/open: + get: + summary: Get open settlement + x-speakeasy-name-override: get-open + tags: + - Settlements API + operationId: get-open-settlement + security: + - oAuth: + - settlements.read + description: |- + Retrieve the details of the open balance of the organization. This will return a settlement object representing your + organization's balance. + + For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) + documentation. + + For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the + [balance transactions](list-balance-transactions) endpoint. + responses: + '200': + description: |- + A settlement object describing your current balance. For a complete reference of the settlement object, refer to + the [Get settlement](get-settlement) endpoint documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-settlement' + examples: + get-settlement-200-1: + summary: The settlement object + value: + resource: settlement + id: stl_jDk30akdN + reference: 1234567.2404.03 + createdAt: '2024-04-06T09:41:44+00:00' + status: paidout + amount: + currency: EUR + value: '39.75' + balanceId: bal_3kUf4yU2nT + invoiceId: inv_FrvewDA3Pr + periods: + '2024': + '04': + revenue: + - description: iDEAL + method: ideal + count: 6 + amountNet: + currency: EUR + value: '86.1000' + amountVat: null + amountGross: + currency: EUR + value: '86.1000' + - description: Refunds iDEAL + method: refund + count: 2 + amountNet: + currency: EUR + value: '-43.2000' + amountVat: null + amountGross: + currency: EUR + value: '-43.2000' + costs: + - description: iDEAL + method: ideal + count: 6 + rate: + fixed: + currency: EUR + value: '0.3500' + percentage: null + amountNet: + currency: EUR + value: '2.1000' + amountVat: + currency: EUR + value: '0.4410' + amountGross: + currency: EUR + value: '2.5410' + - description: Refunds iDEAL + method: refund + count: 2 + rate: + fixed: + currency: EUR + value: '0.2500' + percentage: null + amountNet: + currency: EUR + value: '0.5000' + amountVat: + currency: EUR + value: '0.1050' + amountGross: + currency: EUR + value: '0.6050' + invoiceId: inv_FrvewDA3Pr + settledAt: '2024-04-06T09:41:44.0Z' + _links: + self: + href: ... + type: application/hal+json + payments: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/payments + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/refunds + type: application/hal+json + chargebacks: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/chargebacks + type: application/hal+json + captures: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/captures + type: application/hal+json + invoice: + href: https://api.mollie.com/v2/invoices/inv_FrvewDA3Pr + type: application/hal+json + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/open \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetSettlementRequest('open'); + + $settlement = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlements.getOpen(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("open") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + settlement = Mollie::Settlement.open + x-speakeasy-group: settlements + parameters: + - $ref: '#/components/parameters/idempotency-key' + /settlements/next: + get: + summary: Get next settlement + x-speakeasy-name-override: get-next + tags: + - Settlements API + operationId: get-next-settlement + security: + - oAuth: + - settlements.read + description: |- + Retrieve the details of the current settlement, that has not yet been paid out. + + For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) + documentation. + + For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the + [balance transactions](list-balance-transactions) endpoint. + responses: + '200': + description: |- + The next settlement object. For a complete reference of the settlement object, refer to the + [Get settlement](get-settlement) endpoint documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-settlement' + examples: + get-settlement-200-1: + summary: The settlement object + value: + resource: settlement + id: stl_jDk30akdN + reference: 1234567.2404.03 + createdAt: '2024-04-06T09:41:44+00:00' + status: paidout + amount: + currency: EUR + value: '39.75' + balanceId: bal_3kUf4yU2nT + invoiceId: inv_FrvewDA3Pr + periods: + '2024': + '04': + revenue: + - description: iDEAL + method: ideal + count: 6 + amountNet: + currency: EUR + value: '86.1000' + amountVat: null + amountGross: + currency: EUR + value: '86.1000' + - description: Refunds iDEAL + method: refund + count: 2 + amountNet: + currency: EUR + value: '-43.2000' + amountVat: null + amountGross: + currency: EUR + value: '-43.2000' + costs: + - description: iDEAL + method: ideal + count: 6 + rate: + fixed: + currency: EUR + value: '0.3500' + percentage: null + amountNet: + currency: EUR + value: '2.1000' + amountVat: + currency: EUR + value: '0.4410' + amountGross: + currency: EUR + value: '2.5410' + - description: Refunds iDEAL + method: refund + count: 2 + rate: + fixed: + currency: EUR + value: '0.2500' + percentage: null + amountNet: + currency: EUR + value: '0.5000' + amountVat: + currency: EUR + value: '0.1050' + amountGross: + currency: EUR + value: '0.6050' + invoiceId: inv_FrvewDA3Pr + settledAt: '2024-04-06T09:41:44.0Z' + _links: + self: + href: ... + type: application/hal+json + payments: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/payments + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/refunds + type: application/hal+json + chargebacks: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/chargebacks + type: application/hal+json + captures: + href: https://api.mollie.com/v2/settlements/stl_jDk30akdN/captures + type: application/hal+json + invoice: + href: https://api.mollie.com/v2/invoices/inv_FrvewDA3Pr + type: application/hal+json + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/next \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetSettlementRequest('next'); + + $settlement = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlements.getNext(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("next") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + settlement = Mollie::Settlement.next + x-speakeasy-group: settlements + parameters: + - $ref: '#/components/parameters/idempotency-key' + /settlements/{settlementId}/payments: + parameters: + - $ref: '#/components/parameters/parent-settlement-id' + get: + summary: List settlement payments + x-speakeasy-name-override: list-payments + tags: + - Settlements API + operationId: list-settlement-payments + security: + - oAuth: + - settlements.read + - payments.read + description: |- + Retrieve all payments included in the given settlement. + + The response is in the same format as the response of the [List payments endpoint](list-payments). + + For capture-based payment methods such as Klarna, the payments are not listed here. Refer to the + [List captures endpoint](list-captures) endpoint instead. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate + the result set. + schema: + $ref: '#/components/schemas/paymentToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payments: + description: An array of payment objects. + type: array + items: + $ref: '#/components/schemas/payment-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-payments-200-1: + summary: A list of payment objects + value: + count: 1 + _embedded: + payments: + - resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + status: open + isCancelable: false + sequenceType: oneoff + amount: + value: '75.00' + currency: GBP + description: 'Order #12345' + method: ideal + metadata: null + details: null + profileId: pfl_QkEhN94Ba + redirectUrl: https://webshop.example.org/order/12345/ + createdAt: '2024-02-12T11:58:35.0Z' + expiresAt: '2024-02-12T12:13:35.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/issuer/select/ideal/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?from=tr_SDkzMggpvx&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-payments-200-2: + summary: Get 3 latest payments + x-request: ./../_components/requests/common-payment-requests.yaml#/api-get-3-latest-payments + value: + _embedded: + payments: + - resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + - resource: payment + id: tr_TNFzqz7jzb + mode: test + createdAt: '2021-12-29T13:38:26+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:55:26+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.nnw5dc + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_TNFzqz7jzb + type: text/html + - resource: payment + id: tr_h7uqbSUNbG + mode: test + createdAt: '2021-12-29T13:07:29+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-29T13:24:02+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_h7uqbSUNbG + type: text/html + - resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Updated payment description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-29T13:25:03+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + - resource: payment + id: tr_dFWesfS4F7 + mode: test + createdAt: '2021-12-23T08:25:22+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-23T08:42:02+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_dFWesfS4F7 + type: text/html + - resource: payment + id: tr_8N2vfqD9Q9 + mode: test + createdAt: '2021-12-22T08:48:38+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-22T09:06:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8N2vfqD9Q9 + type: text/html + - resource: payment + id: tr_nBs82Ujy7g + mode: test + createdAt: '2021-12-10T12:37:35+00:00' + amount: + value: '10.00' + currency: EUR + description: 'Payment for invoice number #000121' + method: ideal + metadata: + order_id: '4590962' + status: paid + paidAt: '2021-12-10T12:39:18+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://webshop.example.org/payment-links/redirectUrl + webhookUrl: https://webshop.example.org/payment-links/webhook + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL68RABO0638606673 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_nBs82Ujy7g + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.st50hq + type: text/html + - resource: payment + id: tr_6qh37hS3FF + mode: test + createdAt: '2021-12-08T16:02:20+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: paid + paidAt: '2021-12-08T16:04:10+00:00' + amountRefunded: + value: '10.00' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL55RABO0282361409 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_6qh37hS3FF + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.ee5j0m + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_6qh37hS3FF/refunds + type: application/hal+json + count: 8 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-payments-200-3: + summary: List payments for specific profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-list-payments-for-specific-profile + value: + _embedded: + payments: + - resource: payment + id: tr_jDqwhKQVgW + mode: live + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + - resource: payment + id: tr_95my2qPt3H + mode: live + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + - resource: payment + id: tr_ntnfCGP6mv + mode: live + createdAt: '2022-01-19T07:42:59+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-19T07:59:02+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ntnfCGP6mv + type: text/html + - resource: payment + id: tr_EdTCRdcfCs + mode: live + createdAt: '2022-01-18T15:16:07+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #136' + method: creditcard + metadata: + order_id: '136' + customer_id: null + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: Centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: failed + failedAt: '2022-01-18T15:16:30+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/pay/external/store/1001879680/order/136/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + details: + cardToken: tkn_t67GnF6USB + cardFingerprint: 3uzqSxyue3dDWJMHdPkBvfy6 + cardNumber: '9996' + cardHolder: Mollie + cardAudience: consumer + cardLabel: Visa + cardCountryCode: MU + cardSecurity: 3dsecure + failureReason: authentication_failed + failureMessage: 3-D Secure authenticatie is gefaald. + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_EdTCRdcfCs + type: text/html + - resource: payment + id: tr_8KwCUNMVJe + mode: live + createdAt: '2022-01-18T14:04:24+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #135' + method: creditcard + metadata: + order_id: '135' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:04:25+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_8KwCUNMVJe + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_8KwCUNMVJe/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_QcQPGvh9Du + mode: live + createdAt: '2022-01-18T14:03:08+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #134' + method: creditcard + metadata: + order_id: '134' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:03:10+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QcQPGvh9Du + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_QcQPGvh9Du/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_wk6m2eaWcB + mode: live + createdAt: '2022-01-18T14:00:44+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #133' + method: creditcard + metadata: + order_id: '133' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:01:27+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: first + redirectUrl: https://example.com/pay/external/store/1001879680/order/133/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_xtbTh68DMH + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_wk6m2eaWcB + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_wk6m2eaWcB/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_4nvqTDgb2V + mode: live + createdAt: '2022-01-17T16:06:27+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000376 + method: creditcard + metadata: null + status: expired + expiredAt: '2022-01-17T16:23:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + orderId: ord_5B8cwPMGnU6qLbRvo7qEZo + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=394&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4nvqTDgb2V + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + - resource: payment + id: tr_WSmqbH9dmk + mode: live + createdAt: '2022-01-17T16:01:41+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000375 + method: creditcard + metadata: null + status: paid + paidAt: '2022-01-17T16:02:19+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + mandateId: mdt_Ff284cNKht + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ1 + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=393&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_bnmP3THUuD + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_WSmqbH9dmk + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV/mandates/mdt_Ff284cNKht + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ1 + type: application/hal+json + - resource: payment + id: tr_QgUjvHbA8Q + mode: live + createdAt: '2022-01-14T11:27:53+00:00' + amount: + value: '1007.00' + currency: EUR + description: Order a036907f-6221-4611-a7ab-2725e1e80c2b + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-14T11:44:05+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ2 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=a036907f-6221-4611-a7ab-2725e1e80c2b + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QgUjvHbA8Q + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ2 + type: application/hal+json + - resource: payment + id: tr_ErjmfS5B86 + mode: live + createdAt: '2021-12-16T18:56:21+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000367' + method: ideal + metadata: + order_id: '385' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:13:00+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=385&payment_token=123utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ErjmfS5B86 + type: text/html + - resource: payment + id: tr_zegQDmfHp5 + mode: live + createdAt: '2021-12-16T18:54:22+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000366' + method: ideal + metadata: + order_id: '384' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:10:43+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=384&payment_token=123&utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zegQDmfHp5 + type: text/html + - resource: payment + id: tr_4jbEGjvw3C + mode: live + createdAt: '2021-12-15T16:07:37+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 462a4c86-bcf0-4e47-84c3-fd24fb6d907d + method: banktransfer + metadata: null + status: paid + paidAt: '2021-12-15T16:41:10+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ3 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=462a4c86-bcf0-4e47-84c3-fd24fb6d907d + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + settlementAmount: + value: '0.01' + currency: EUR + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF74-4500-4966-8489 + billingEmail: test@mollie.com + consumerName: AJ WALSH + consumerAccount: NL71ABNA0825509440 + consumerBic: ABNANL2AXXX + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4jbEGjvw3C + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ3 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.lkmvuw + type: text/html + - resource: payment + id: tr_zTnKhNvPUT + mode: live + createdAt: '2021-12-14T15:48:48+00:00' + amount: + value: '85.00' + currency: EUR + description: Order c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T15:50:08+00:00' + locale: en_US + countryCode: RS + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ4 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF18-6008-0499-7965 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zTnKhNvPUT + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ4 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.8bkxfw + type: text/html + - resource: payment + id: tr_ksNqVyqbab + mode: live + createdAt: '2021-12-14T15:24:16+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000365 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:42:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ5 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=383&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ksNqVyqbab + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ5 + type: application/hal+json + - resource: payment + id: tr_csHVQWJm3W + mode: live + createdAt: '2021-12-14T15:13:20+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000364 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:30:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ6 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=382&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_csHVQWJm3W + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ6 + type: application/hal+json + - resource: payment + id: tr_9C6FGvRBFN + mode: live + createdAt: '2021-12-14T15:11:40+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000363 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-14T15:11:52+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ7 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=381&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_J9bAGBpw9S + cardFingerprint: 2xWzgJFwNnC3kNE4WNTvrkfD + cardNumber: '4335' + cardHolder: Amanda Walsh + cardAudience: consumer + cardLabel: Visa + cardCountryCode: US + cardSecurity: 3dsecure + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9C6FGvRBFN + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ7 + type: application/hal+json + - resource: payment + id: tr_UxxzHS8sAW + mode: live + createdAt: '2021-12-14T14:41:55+00:00' + amount: + value: '7.50' + currency: EUR + description: Order 53c0b522-d15b-4209-96b7-25cf98bb4631 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T14:45:03+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ8 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=53c0b522-d15b-4209-96b7-25cf98bb4631 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF06-7000-7948-6191 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UxxzHS8sAW + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ8 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.ub14cw + type: text/html + - resource: payment + id: tr_HEsCwNjSwj + mode: live + createdAt: '2021-12-14T10:38:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:55:05+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + mandateId: mdt_d9HvU2evHH + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HEsCwNjSwj + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M/mandates/mdt_d9HvU2evHH + type: application/hal+json + - resource: payment + id: tr_7PR5ujgAf5 + mode: live + createdAt: '2021-12-14T10:37:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:54:02+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_7PR5ujgAf5 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + - resource: payment + id: tr_gHCKaEgz7A + mode: live + createdAt: '2021-12-13T13:08:59+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000362 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:25:03+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ9 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=380&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gHCKaEgz7A + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ9 + type: application/hal+json + - resource: payment + id: tr_UMtHEnx6rW + mode: live + createdAt: '2021-12-13T13:06:46+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000361 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T13:07:27+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZa + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=379&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_M7nNTAr6AC + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UMtHEnx6rW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZa + type: application/hal+json + - resource: payment + id: tr_KNdnVCzdfv + mode: live + createdAt: '2021-12-13T12:59:14+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000360 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:16:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZb + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=378&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KNdnVCzdfv + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZb + type: application/hal+json + - resource: payment + id: tr_pWMGnvESfx + mode: live + createdAt: '2021-12-13T12:56:11+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000359 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T12:57:33+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZc + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=377&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_NqHkEPJQcc + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pWMGnvESfx + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZc + type: application/hal+json + - resource: payment + id: tr_DdMxvERTUe + mode: live + createdAt: '2021-12-13T12:54:15+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000358 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:11:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZd + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=376&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DdMxvERTUe + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZd + type: application/hal+json + - resource: payment + id: tr_2yGeVFFBdW + mode: live + createdAt: '2021-12-09T12:18:20+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000357 + method: creditcard + metadata: null + status: canceled + canceledAt: '2021-12-09T12:19:26+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZe + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=375&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_2yGeVFFBdW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZe + type: application/hal+json + - resource: payment + id: tr_xb55QTpsVT + mode: live + createdAt: '2021-12-09T12:17:33+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000356 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:35:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZf + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=374&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_xb55QTpsVT + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZf + type: application/hal+json + - resource: payment + id: tr_5ygWQpgwBE + mode: live + createdAt: '2021-12-09T12:14:11+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000355 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:31:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZg + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=373&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_5ygWQpgwBE + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZg + type: application/hal+json + - resource: payment + id: tr_e8PGEKcS2h + mode: live + createdAt: '2021-12-09T12:11:19+00:00' + amount: + value: '22.00' + currency: EUR + description: Order 000000354 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:28:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZh + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=372&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_e8PGEKcS2h + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZh + type: application/hal+json + - resource: payment + id: tr_pubnh4PCd4 + mode: live + createdAt: '2021-12-09T12:03:42+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000353 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-09T12:04:22+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZi + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=371&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_VEGsUNt3uq + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pubnh4PCd4 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZi + type: application/hal+json + - resource: payment + id: tr_DPb2GgeB2B + mode: live + createdAt: '2021-12-08T08:38:08+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: directdebit + metadata: null + status: expired + expiredAt: '2021-12-08T08:54:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + details: + transferReference: SD03-5014-9920-7495 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: null + consumerAccount: null + consumerBic: null + dueDate: '2022-01-20' + bankReasonCode: null + bankReason: null + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DPb2GgeB2B + type: text/html + - resource: payment + id: tr_ydTSdxn8An + mode: live + createdAt: '2021-12-06T13:58:00+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:14:20+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/55 + webhookUrl: https://example.com/payments/55/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ydTSdxn8An + type: text/html + - resource: payment + id: tr_JK35Azc9cb + mode: live + createdAt: '2021-12-06T13:57:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:57:29+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/54 + webhookUrl: https://example.com/payments/54/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_JK35Azc9cb + type: text/html + - resource: payment + id: tr_sQSvH3pMPR + mode: live + createdAt: '2021-12-06T13:49:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:06:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/53 + webhookUrl: https://example.com/payments/53/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_sQSvH3pMPR + type: text/html + - resource: payment + id: tr_PFEKtRWTqN + mode: live + createdAt: '2021-12-06T13:40:30+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:57:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/52 + webhookUrl: https://example.com/payments/52/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_PFEKtRWTqN + type: text/html + - resource: payment + id: tr_tkf3hujUn5 + mode: live + createdAt: '2021-12-06T13:39:49+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:56:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/51 + webhookUrl: https://example.com/payments/51/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_tkf3hujUn5 + type: text/html + - resource: payment + id: tr_Kba2FsryW3 + mode: live + createdAt: '2021-12-06T13:25:52+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:42:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/50 + webhookUrl: https://example.com/payments/50/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_Kba2FsryW3 + type: text/html + - resource: payment + id: tr_RxA7KvSrtJ + mode: live + createdAt: '2021-12-06T13:19:46+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:19:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/49 + webhookUrl: https://example.com/payments/49/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RxA7KvSrtJ + type: text/html + - resource: payment + id: tr_MwSQRteNjB + mode: live + createdAt: '2021-12-06T13:02:31+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:02:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/48 + webhookUrl: https://example.com/payments/48/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_MwSQRteNjB + type: text/html + - resource: payment + id: tr_m257hQC5tk + mode: live + createdAt: '2021-12-06T12:55:53+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:56:35+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/47 + webhookUrl: https://example.com/payments/47/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_m257hQC5tk + type: text/html + - resource: payment + id: tr_eEPrW72gH3 + mode: live + createdAt: '2021-12-06T12:19:15+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:19:46+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/46 + webhookUrl: https://example.com/payments/46/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_eEPrW72gH3 + type: text/html + - resource: payment + id: tr_NwQjTuvhMW + mode: live + createdAt: '2021-12-06T12:17:04+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:33:09+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/45 + webhookUrl: https://example.com/payments/45/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_NwQjTuvhMW + type: text/html + - resource: payment + id: tr_HRMmGPqnmS + mode: live + createdAt: '2021-12-06T12:16:45+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:49+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/44 + webhookUrl: https://example.com/payments/44/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HRMmGPqnmS + type: text/html + - resource: payment + id: tr_B7B2cenDkC + mode: live + createdAt: '2021-12-06T12:16:44+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:53+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/43 + webhookUrl: https://example.com/payments/43/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_B7B2cenDkC + type: text/html + - resource: payment + id: tr_z5PREjDv5C + mode: live + createdAt: '2021-12-06T12:16:29+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: canceled + canceledAt: '2021-12-06T12:16:36+00:00' + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/42 + webhookUrl: https://example.com/payments/42/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_z5PREjDv5C + type: text/html + - resource: payment + id: tr_56nDe2G7NM + mode: live + createdAt: '2021-12-06T12:14:39+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:30:54+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/41 + webhookUrl: https://example.com/payments/41/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_56nDe2G7NM + type: text/html + - resource: payment + id: tr_9MyFrrbAS8 + mode: live + createdAt: '2021-12-06T12:13:54+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:14:20+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/40 + webhookUrl: https://example.com/payments/40/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9MyFrrbAS8 + type: text/html + - resource: payment + id: tr_KPgBxSyWfU + mode: live + createdAt: '2021-12-06T12:13:08+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:22+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/39 + webhookUrl: https://example.com/payments/39/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KPgBxSyWfU + type: text/html + - resource: payment + id: tr_9rwyrM6jcw + mode: live + createdAt: '2021-12-06T12:13:07+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:44+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/38 + webhookUrl: https://example.com/payments/38/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9rwyrM6jcw + type: text/html + - resource: payment + id: tr_gdE6pzp9Qs + mode: live + createdAt: '2021-12-06T12:12:37+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:28:55+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/37 + webhookUrl: https://example.com/payments/37/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gdE6pzp9Qs + type: text/html + count: 50 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?profileId=pfl_zcfJRjkf6P&from=tr_KBwM9rn7sm&limit=50 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/stl_jDk30akdN/payments \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetPaginatedSettlementPaymentsRequest('stl_jDk30akdN'); + + $payments = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlementPayments.iterate({ + settlementId: 'stl_jDk30akdN' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("stl_jDk30akdN") + payments = settlement.payments.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + payments = Mollie::Settlement::Payment.all(settlement_id: 'stl_jDk30akdN') + x-speakeasy-group: settlements + /settlements/{settlementId}/captures: + parameters: + - $ref: '#/components/parameters/parent-settlement-id' + get: + summary: List settlement captures + x-speakeasy-name-override: list-captures + tags: + - Settlements API + operationId: list-settlement-captures + security: + - oAuth: + - settlements.read + - payments.read + description: |- + Retrieve all captures included in the given settlement. + + The response is in the same format as the response of the [List captures endpoint](list-captures). + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/captureToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows you to embed additional resources via the + `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payments that the captures were created for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of capture objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - captures + properties: + captures: + description: An array of capture objects. + type: array + items: + $ref: '#/components/schemas/capture-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-captures-200-1: + summary: List of capture objects + value: + count: 1 + _embedded: + captures: + - resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: live + description: 'Capture for cart #12345' + amount: + currency: EUR + value: '35.95' + metadata: '{"bookkeeping_id":12345}' + status: pending + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-08-02T09:29:56.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/captures?from=cpt_vytxeTZskVKR7C7WgdSP3d&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-captures-200-2: + summary: Get captures of payment + value: + _embedded: + captures: + - resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: test + amount: + value: '467.92' + currency: EUR + settlementAmount: + value: '467.92' + currency: EUR + status: pending + createdAt: '2021-06-03T11:50:58+00:00' + paymentId: tr_V9kqkGtyUH + shipmentId: shp_5x4xQJDWGNcY3tKGL7X5J + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_V9kqkGtyUH + type: application/hal+json + shipment: + href: https://api.mollie.com/v2/orders/ord_uvpptr/shipments/shp_5x4xQJDWGNcY3tKGL7X5J + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/stl_jDk30akdN/captures \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetPaginatedSettlementCapturesRequest('stl_jDk30akdN'); + + $captures = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlementCaptures.iterate({ + settlementId: 'stl_jDk30akdN' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("stl_jDk30akdN") + captures = settlement.captures.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + captures = Mollie::Settlement::Capture.all(settlement_id: 'stl_jDk30akdN') + x-speakeasy-group: settlements + /settlements/{settlementId}/refunds: + parameters: + - $ref: '#/components/parameters/parent-settlement-id' + get: + summary: List settlement refunds + x-speakeasy-name-override: list-refunds + tags: + - Settlements API + operationId: list-settlement-refunds + security: + - oAuth: + - settlements.read + - refunds.read + description: |- + Retrieve all refunds 'deducted' from the given settlement. + + The response is in the same format as the response of the [List refunds endpoint](list-refunds). + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/refundToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payment related to this refund. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of refund objects. For a complete reference of the refund object, refer to the + [Get refund endpoint](get-refund) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - refunds + properties: + refunds: + description: An array of refund objects. + type: array + items: + $ref: '#/components/schemas/entity-refund-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-refunds-200-1: + summary: A list of refund objects + value: + count: 1 + _embedded: + refunds: + - resource: refund + id: re_4qqhO89gsT + mode: live + description: Order + amount: + currency: EUR + value: '5.95' + status: pending + metadata: + bookkeeping_id: 12345 + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds?from=re_APBiGPH2vV&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/stl_jDk30akdN/refunds \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetPaginatedSettlementRefundsRequest('stl_jDk30akdN'); + + $refunds = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlementRefunds.iterate({ + settlementId: 'stl_jDk30akdN' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("stl_jDk30akdN") + refunds = settlement.refunds.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + refunds = Mollie::Settlement::Refund.all(settlement_id: 'stl_jDk30akdN') + x-speakeasy-group: settlements + /settlements/{settlementId}/chargebacks: + parameters: + - $ref: '#/components/parameters/parent-settlement-id' + get: + summary: List settlement chargebacks + x-speakeasy-name-override: list-chargebacks + tags: + - Settlements API + operationId: list-settlement-chargebacks + security: + - oAuth: + - settlements.read + - payments.read + description: |- + Retrieve all chargebacks 'deducted' from the given settlement. + + The response is in the same format as the response of the [List chargebacks endpoint](list-chargebacks). + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/chargebackToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: This endpoint allows you to embed additional information via the `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Include the payment these chargebacks were issued for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of chargeback objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + chargebacks: + description: A list of chargeback objects. + type: array + items: + $ref: '#/components/schemas/entity-chargeback' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-chargeback-200-1: + $ref: '#/components/examples/list-chargebacks' + list-chargeback-200-2: + summary: List payment chargebacks + value: + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-chargeback-200-3: + summary: List payment chargebacks with payment embedded + value: + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _embedded: + payment: + resource: payment + id: tr_8bVBhk2qs4 + mode: test + createdAt: '2022-01-03T13:11:20+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: paid + paidAt: '2022-01-03T13:18:39+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + amountChargedBack: + value: '10.00' + currency: EUR + locale: en_US + restrictPaymentMethodsToCountry: NL + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/landing_page + webhookUrl: https://example.com/redirect + settlementAmount: + value: '10.00' + currency: EUR + details: + cardNumber: '6787' + cardHolder: T. TEST + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8bVBhk2qs4 + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.11roh2 + type: text/html + chargebacks: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4/chargebacks + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/settlements/stl_jDk30akdN/chargebacks \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $request = new GetPaginatedSettlementChargebacksRequest('stl_jDk30akdN'); + + $chargebacks = $mollie->send($request); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.settlementChargebacks.iterate({ + settlementId: 'stl_jDk30akdN' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + settlement = mollie_client.settlements.get("stl_jDk30akdN") + chargebacks = settlement.chargebacks.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + chargebacks = Mollie::Settlement::Chargeback.all(settlement_id: 'stl_jDk30akdN') + x-speakeasy-group: settlements + /invoices: + get: + summary: List invoices + x-speakeasy-name-override: list + tags: + - Invoices API + operationId: list-invoices + security: + - oAuth: + - invoices.read + description: |- + Retrieve a list of all your invoices, optionally filtered by year or by + invoice reference. + + The results are paginated. + parameters: + - name: reference + description: |- + Filter for an invoice with a specific invoice reference, for example + `2024.10000`. + in: query + schema: + type: + - string + - 'null' + example: '2024.10000' + - name: year + description: Filter for invoices of a specific year, for example `2024`. + in: query + schema: + type: + - string + - 'null' + example: 2024 + - name: month + description: Filter for invoices of a specific month, for example `01`. + in: query + schema: + type: + - string + - 'null' + example: '01' + pattern: ^(0[1-9]|1[0-2])$ + - $ref: '#/components/parameters/list-from' + schema: + type: + - string + - 'null' + example: inv_xBEbP9rvAq + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of invoice objects. For a complete reference of the invoice + object, refer to the [Get invoice endpoint](get-invoice) documentation. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + invoices: + description: |- + An array of invoice objects. For a complete reference of + the invoice object, refer to the [Get invoice endpoint](get-invoice) documentation. + type: array + items: + type: object + _links: + $ref: '#/components/schemas/list-links' + examples: + list-invoices-200-1: + summary: A list of invoice objects + value: + count: 5 + _embedded: + invoices: + - resource: invoice + id: inv_xBEbP9rvAq + reference: '2023.10000' + vatNumber: NL001234567B01 + status: open + netAmount: + currency: EUR + value: '45.00' + vatAmount: + currency: EUR + value: '9.45' + grossAmount: + currency: EUR + value: '54.45' + lines: + - period: 2023-09 + description: iDEAL payment fees + count: 100 + vatPercentage: 21 + amount: + currency: EUR + value: '45.00' + issuedAt: '2023-09-01' + dueAt: '2023-09-14' + _links: + self: + href: ... + type: application/hal+json + - {} + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/invoices?from=inv_TUhzbAFMrt&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-invoices-200-2: + summary: List invoices + x-request: ./requests.yaml#/oauth-list-invoices + value: + _embedded: + invoices: + - resource: invoice + id: inv_UQgMnkkTFz + reference: MOLR2021.0001399669 + vatNumber: '' + status: paid + issuedAt: '2021-12-31' + paidAt: '2022-01-03' + netAmount: + value: '2.93' + currency: EUR + vatAmount: + value: '0.62' + currency: EUR + grossAmount: + value: '3.55' + currency: EUR + lines: + - period: 2021-12 + description: iDeal payment fixed fees + count: 6 + vatPercentage: 21 + amount: + value: '1.68' + currency: EUR + - period: 2021-12 + description: Credit Card - European cards payment fixed fees + count: 3 + vatPercentage: 21 + amount: + value: '0.75' + currency: EUR + - period: 2021-12 + description: Credit Card - European cards payment variable fees + count: 3 + vatPercentage: 21 + amount: + value: '0.00054' + currency: EUR + - period: 2021-12 + description: Credit Card payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-12 + description: Credit Card payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00028' + currency: EUR + - period: 2021-12 + description: Bank transfer payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/UQgMnkkTFz/d9bc0b0c7e18e886b3b36c74749c03bb + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_USQe9D7fc8 + reference: MOLR2021.0001203556 + vatNumber: '' + status: paid + issuedAt: '2021-11-30' + paidAt: '2021-12-01' + netAmount: + value: '4.00' + currency: EUR + vatAmount: + value: '0.84' + currency: EUR + grossAmount: + value: '4.84' + currency: EUR + lines: + - period: 2021-11 + description: iDeal refund fees + count: 15 + vatPercentage: 21 + amount: + value: '3.75' + currency: EUR + - period: 2021-11 + description: Paypal refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-11 + description: Direct debit payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-11 + description: Direct debit payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/USQe9D7fc8/8bd27fecea40e0932d6af28d5b13edb3 + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_9S73PDnES2 + reference: MOLR2021.0001157498 + vatNumber: '' + status: paid + issuedAt: '2021-10-31' + paidAt: '2021-11-01' + netAmount: + value: '4.91' + currency: EUR + vatAmount: + value: '1.03' + currency: EUR + grossAmount: + value: '5.94' + currency: EUR + lines: + - period: 2021-10 + description: iDeal payment fixed fees + count: 16 + vatPercentage: 21 + amount: + value: '4.48' + currency: EUR + - period: 2021-10 + description: Paypal payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-10 + description: Paypal payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-10 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-10 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.18936' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/9S73PDnES2/8cef4dad7a00abcdae923b9c392d720a + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_MdyNgEbeNP + reference: MOLR2021.0001050354 + vatNumber: '' + status: paid + issuedAt: '2021-09-30' + paidAt: '2021-10-01' + netAmount: + value: '0.75' + currency: EUR + vatAmount: + value: '0.16' + currency: EUR + grossAmount: + value: '0.91' + currency: EUR + lines: + - period: 2021-09 + description: Bank transfer payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-09 + description: Direct debit refund fees + count: 2 + vatPercentage: 21 + amount: + value: '0.50' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/MdyNgEbeNP/cd546e0402607ca8d08f5975702c3293 + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_xkgx8Kd9d5 + reference: MOLR2021.0000913190 + vatNumber: '' + status: paid + issuedAt: '2021-08-31' + paidAt: '2021-09-01' + netAmount: + value: '0.53' + currency: EUR + vatAmount: + value: '0.11' + currency: EUR + grossAmount: + value: '0.64' + currency: EUR + lines: + - period: 2021-08 + description: Sofort payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-08 + description: Sofort payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00225' + currency: EUR + - period: 2021-08 + description: Direct debit payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-08 + description: Direct debit payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-08 + description: iDeal payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.28' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/xkgx8Kd9d5/4d29b8d112bd0675530e4ff571e0a6fe + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_7ee8zakWxE + reference: MOLR2021.0000791294 + vatNumber: '' + status: paid + issuedAt: '2021-07-31' + paidAt: '2021-08-02' + netAmount: + value: '1.31' + currency: EUR + vatAmount: + value: '0.27' + currency: EUR + grossAmount: + value: '1.58' + currency: EUR + lines: + - period: 2021-07 + description: Paypal payment fixed fees + count: 2 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-07 + description: Paypal payment variable fees + count: 2 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-07 + description: iDeal payment fixed fees + count: 2 + vatPercentage: 21 + amount: + value: '0.56' + currency: EUR + - period: 2021-07 + description: Paypal refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-07 + description: Direct debit payment fixed fees + count: 3 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-07 + description: Direct debit payment variable fees + count: 3 + vatPercentage: 21 + amount: + value: '0.00' + currency: EUR + - period: 2021-07 + description: iDeal refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-07 + description: Direct debit refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/7ee8zakWxE/c8e9066ffa33bcbd0b3eb424d1742eaa + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_wqN9zppN9h + reference: MOLR2021.0000478657 + vatNumber: '' + status: paid + issuedAt: '2021-05-31' + paidAt: '2021-06-01' + netAmount: + value: '1.31' + currency: EUR + vatAmount: + value: '0.27' + currency: EUR + grossAmount: + value: '1.58' + currency: EUR + lines: + - period: 2021-05 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-05 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00018' + currency: EUR + - period: 2021-05 + description: iDeal payment fixed fees + count: 2 + vatPercentage: 21 + amount: + value: '0.56' + currency: EUR + - period: 2021-05 + description: Credit Card - European cards refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-05 + description: Klarna Pay Later refund fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/wqN9zppN9h/ca395e6464508ac017f8864d62532649 + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_sAP3gb4SFE + reference: MOLR2021.0000436905 + vatNumber: '' + status: paid + issuedAt: '2021-04-30' + paidAt: '2021-05-03' + netAmount: + value: '0.25' + currency: EUR + vatAmount: + value: '0.05' + currency: EUR + grossAmount: + value: '0.30' + currency: EUR + lines: + - period: 2021-04 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2021-04 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.00018' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/sAP3gb4SFE/d89e0340c5bf09476cc3ca3fb7fc9cab + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_F6az3ffKj9 + reference: MOLR2021.0000283014 + vatNumber: '' + status: paid + issuedAt: '2021-03-31' + paidAt: '2021-04-01' + netAmount: + value: '0.25' + currency: EUR + vatAmount: + value: '0.05' + currency: EUR + grossAmount: + value: '0.30' + currency: EUR + lines: + - period: 2021-03 + description: Direct debit payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/F6az3ffKj9/adc34cc9423e17ce0585755680c41482 + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_fdqCugCrMd + reference: MOLR2021.0000216980 + vatNumber: '' + status: paid + issuedAt: '2021-02-28' + paidAt: '2021-03-01' + netAmount: + value: '0.56' + currency: EUR + vatAmount: + value: '0.11' + currency: EUR + grossAmount: + value: '0.67' + currency: EUR + lines: + - period: 2021-02 + description: iDeal payment fixed fees + count: 2 + vatPercentage: 21 + amount: + value: '0.56' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/fdqCugCrMd/155803920f438d07f6002b8588ad9e0a + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + - resource: invoice + id: inv_s3vn7CBrx7 + reference: MOLR2020.0000382031 + vatNumber: '' + status: paid + issuedAt: '2020-11-30' + paidAt: '2020-12-01' + netAmount: + value: '15.25' + currency: EUR + vatAmount: + value: '3.20' + currency: EUR + grossAmount: + value: '18.45' + currency: EUR + lines: + - period: 2020-11 + description: iDeal payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.12' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.0378' + currency: EUR + - period: 2020-11 + description: Direct debit payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Direct debit chargeback fees + count: 1 + vatPercentage: 21 + amount: + value: '7.50' + currency: EUR + - period: 2020-11 + description: iDeal payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.29' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 16 + vatPercentage: 21 + amount: + value: '4.00' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 16 + vatPercentage: 21 + amount: + value: '0.01' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.05' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/s3vn7CBrx7/8c0ed722130abdd3080fc780c63f9f67 + type: application/pdf + expiresAt: '2022-01-19T16:49:23+00:00' + count: 11 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-invoices-200-3: + summary: List invoices for a specific year + x-request: ./requests.yaml#/oauth-list-invoices-for-a-specific-year + value: + _embedded: + invoices: + - resource: invoice + id: inv_s3vn7CBrx7 + reference: MOLR2020.0000382031 + vatNumber: '' + status: paid + issuedAt: '2020-11-30' + paidAt: '2020-12-01' + netAmount: + value: '15.25' + currency: EUR + vatAmount: + value: '3.20' + currency: EUR + grossAmount: + value: '18.45' + currency: EUR + lines: + - period: 2020-11 + description: iDeal payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.12' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.0378' + currency: EUR + - period: 2020-11 + description: Direct debit payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Direct debit chargeback fees + count: 1 + vatPercentage: 21 + amount: + value: '7.50' + currency: EUR + - period: 2020-11 + description: iDeal payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.29' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 16 + vatPercentage: 21 + amount: + value: '4.00' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 16 + vatPercentage: 21 + amount: + value: '0.01' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.05' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/s3vn7CBrx7/bf39b75717e4fa9552c29d2a249d6054 + type: application/pdf + expiresAt: '2022-01-19T16:49:34+00:00' + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-invoices-200-4: + summary: Search invoices on reference number + x-request: ./requests.yaml#/oauth-list-invoices-for-a-specific-year + value: + _embedded: + invoices: + - resource: invoice + id: inv_s3vn7CBrx7 + reference: MOLR2020.0000382031 + vatNumber: '' + status: paid + issuedAt: '2020-11-30' + paidAt: '2020-12-01' + netAmount: + value: '15.25' + currency: EUR + vatAmount: + value: '3.20' + currency: EUR + grossAmount: + value: '18.45' + currency: EUR + lines: + - period: 2020-11 + description: iDeal payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.12' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.25' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.0378' + currency: EUR + - period: 2020-11 + description: Direct debit payment fixed fees + count: 4 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Direct debit chargeback fees + count: 1 + vatPercentage: 21 + amount: + value: '7.50' + currency: EUR + - period: 2020-11 + description: iDeal payment fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '0.29' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment fixed fees + count: 16 + vatPercentage: 21 + amount: + value: '4.00' + currency: EUR + - period: 2020-11 + description: Credit Card - European cards payment variable fees + count: 16 + vatPercentage: 21 + amount: + value: '0.01' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture fixed fees + count: 1 + vatPercentage: 21 + amount: + value: '1.00' + currency: EUR + - period: 2020-11 + description: Klarna Pay Later capture variable fees + count: 1 + vatPercentage: 21 + amount: + value: '0.05' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/s3vn7CBrx7/3581b4b4d684ad6f8f2c9466aae4b791 + type: application/pdf + expiresAt: '2022-01-19T16:50:34+00:00' + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/invoices \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $invoices = $mollie->send(new GetPaginatedInvoiceRequest()); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + invoices = mollie_client.invoices.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + invoices = Mollie::invoice.all + x-speakeasy-group: invoices + /invoices/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: inv_FrvewDA3Pr + required: true + get: + summary: Get invoice + x-speakeasy-name-override: get + tags: + - Invoices API + operationId: get-invoice + security: + - oAuth: + - invoices.read + description: |- + Retrieve a single invoice by its ID. + + If you want to retrieve the details of an invoice by its invoice number, + call the [List invoices](list-invoices) endpoint with the `reference` parameter. + responses: + '200': + description: The invoice object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-invoice' + examples: + get-invoice-200-1: + summary: The invoice object + value: + resource: invoice + id: inv_xBEbP9rvAq + reference: '2023.10000' + vatNumber: NL001234567B01 + status: open + netAmount: + currency: EUR + value: '45.00' + vatAmount: + currency: EUR + value: '9.45' + grossAmount: + currency: EUR + value: '54.45' + lines: + - period: 2023-09 + description: iDEAL payment fees + count: 100 + vatPercentage: 21 + amount: + currency: EUR + value: '45.00' + issuedAt: '2023-09-01' + dueAt: '2023-09-14' + _links: + self: + href: ... + type: application/hal+json + pdf: + href: https://www.mollie.com/merchant/download/invoice/xBEbP9rvAq/2ab44d60b35b1d06090bba955fa2c602 + type: application/pdf + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/invoices/inv_xBEbP9rvAq \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $invoice = $mollie->send(new GetInvoiceRequest("inv_xBEbP9rvAq")); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + invoice = mollie_client.invoices.get("inv_xBEbP9rvAq") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + invoice = Mollie::invoice.get('inv_xBEbP9rvAq') + x-speakeasy-group: invoices + parameters: + - $ref: '#/components/parameters/idempotency-key' + /permissions: + get: + summary: List permissions + x-speakeasy-name-override: list + tags: + - Permissions API + operationId: list-permissions + security: + - oAuth: [] + description: |- + Retrieve a list of all permissions available to the current access token. + + The results are **not** paginated. + responses: + '200': + description: A list of permission objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + permissions: + description: An array of permission objects. + type: array + items: + $ref: '#/components/schemas/entity-permission' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + description: The URL to the current set of items. + documentation: + $ref: '#/components/schemas/url' + examples: + list-permissions-200-1: + summary: A list of permission objects + value: + count: 8 + _embedded: + permissions: + - resource: permission + id: payments.read + description: View your payments + granted: true + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: payments.write + description: Create new payments + granted: false + _links: + self: + href: ... + type: application/hal+json + - {} + - {} + - {} + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + list-permissions-200-2: + summary: All permissions + value: + _embedded: + permissions: + - resource: permission + id: customers.read + description: View your customers + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: customers.write + description: Create new customers + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: invoices.read + description: View your invoices + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: mandates.read + description: View your customers' mandates + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: mandates.write + description: Update your customers' mandates + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: onboarding.read + description: View your onboarding status + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: onboarding.write + description: Submit onboarding data + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: orders.read + description: View your orders + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: orders.write + description: Create new orders + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: organizations.read + description: View your organizational information + granted: true + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: organizations.write + description: Update your organizational information + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: payment-links.read + description: View your payment links + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: payment-links.write + description: Create payment links + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: payments.read + description: View your payments + granted: true + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: payments.write + description: Create, cancel and update payments + granted: true + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: profiles.read + description: View your payment profiles + granted: true + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: profiles.write + description: Manage your payment profiles and its settings + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: refunds.read + description: View your refunds + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: refunds.write + description: Create new refunds + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: settlements.read + description: View your settlements + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: shipments.read + description: View your orders' shipments + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: shipments.write + description: Create new shipments for your orders + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: subscriptions.read + description: View your customers' subscriptions + granted: false + _links: + self: + href: ... + type: application/hal+json + - resource: permission + id: subscriptions.write + description: Create, cancel and update subscriptions + granted: false + _links: + self: + href: ... + type: application/hal+json + count: 24 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/permissions \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $permissions = $mollie->permissions->all(); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const permissions = await mollieClient.permissions.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + permissions = mollie_client.permissions.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + permissions = Mollie::Permission.all + x-speakeasy-group: permissions + parameters: + - $ref: '#/components/parameters/idempotency-key' + /permissions/{permissionId}: + parameters: + - $ref: '#/components/parameters/parent-permission-id' + get: + summary: Get permission + x-speakeasy-name-override: get + tags: + - Permissions API + operationId: get-permission + security: + - oAuth: [] + description: Retrieve a single permission by its ID, and see if the permission is granted to the current access token. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The permission object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-permission' + examples: + get-permission-200-1: + summary: The permission object + value: + resource: permission + id: payments.read + description: View your payments + granted: true + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + get-permission-200-2: + summary: Write payments + value: + resource: permission + id: payments.write + description: Create, cancel and update payments + granted: true + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/permissions/payments.read \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $permission = $mollie->permissions->get("payments.read"); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const permission = await mollieClient.permissions.get('payments.read'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + permission = mollie_client.permissions.get("payments.read") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + permission = Mollie::Permission.get('payments.read') + x-speakeasy-group: permissions + /organizations/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: org_12345678 + get: + summary: Get organization + x-speakeasy-name-override: get + tags: + - Organizations API + operationId: get-organization + security: + - oAuth: + - organizations.read + description: |- + Retrieve a single organization by its ID. + + You can normally only retrieve the currently authenticated organization with this endpoint. This is primarily useful + for OAuth apps. See also [Get current organization](get-current-organization). + + If you have a *partner account*', you can retrieve organization details of connected organizations. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The organization object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-organization' + examples: + get-organization-200-1: + summary: The organization object + value: + resource: organization + id: org_12345678 + name: Mollie B.V. + email: info@mollie.com + address: + streetAndNumber: Keizersgracht 126 + postalCode: 1015 CW + city: Amsterdam + country: NL + registrationNumber: '30204462' + vatNumber: NL815839091B01 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://mollie.com/dashboard/org_12345678 + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/organizations/org_12345678 \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $organization = $mollie->send( + new GetOrganizationRequest(id: 'org_12345678') + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + organization = mollie_client.organizations.get("org_12345678") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + organization = Mollie::Organization.get('org_12345678') + x-speakeasy-group: organizations + /organizations/me: + get: + summary: Get current organization + x-speakeasy-name-override: get-current + tags: + - Organizations API + operationId: get-current-organization + security: + - oAuth: + - organizations.read + description: |- + Retrieve the currently authenticated organization. A convenient alias of the [Get organization](get-organization) + endpoint. + + For a complete reference of the organization object, refer to the [Get organization](get-organization) endpoint + documentation. + responses: + '200': + description: The current organization object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-organization' + examples: + get-current-organization-200-1: + summary: The current organization object + value: + resource: organization + id: org_7049691 + name: Hugo's eenzame zaak + email: test@mollie.com + locale: en_US + address: + streetAndNumber: Nassaukade, 47E, 47E + postalCode: 1052CM + city: Amsterdam + country: DE + registrationNumber: '30204462' + vatNumber: '' + vatRegulation: dutch + verifiedAt: '2020-10-19T11:45:36+00:00' + _links: + self: + href: ... + type: application/hal+json + chargebacks: + href: https://api.mollie.com/v2/chargebacks + type: application/hal+json + customers: + href: https://api.mollie.com/v2/customers + type: application/hal+json + invoices: + href: https://api.mollie.com/v2/invoices + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments + type: application/hal+json + profiles: + href: https://api.mollie.com/v2/profiles + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds + type: application/hal+json + settlements: + href: https://api.mollie.com/v2/settlements + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/ + type: text/html + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/organizations/me \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $organization = $mollie->send( + new GetOrganizationRequest(id: 'me') + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + organization = mollie_client.organizations.get("me") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + organization = Mollie::Organization.current + x-examples: + - name: Get current organization + code: 200 + response: mol-public-api/v2/organizations-api/examples.yaml#/components/responses/oauth-get-current-organization + x-speakeasy-group: organizations + parameters: + - $ref: '#/components/parameters/idempotency-key' + /organizations/me/partner: + get: + summary: Get partner status + x-speakeasy-name-override: get-partner + tags: + - Organizations API + operationId: get-partner-status + security: + - oAuth: + - organizations.read + description: |- + Retrieve partnership details about the currently authenticated organization. Only relevant for so-called *partner + accounts*. + responses: + '200': + description: The partner status object. + content: + application/hal+json: + schema: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a partner status object. Will always contain the string `partner` for + this endpoint. + readOnly: true + example: partner + partnerType: + type: + - string + - 'null' + description: |- + Indicates the type of partner. Will be `null` if the currently authenticated organization is not + enrolled as a partner. + enum: + - oauth + - signuplink + - useragent + readOnly: true + isCommissionPartner: + type: boolean + description: Whether the current organization is receiving commissions. + readOnly: true + userAgentTokens: + type: array + description: |- + Array of User-Agent token objects. Present if the organization is a partner of type `useragent`, or if + they were in the past. + items: + type: object + properties: + token: + type: string + description: The unique User-Agent token. + startsAt: + type: string + description: The date from which the token is active, in ISO 8601 format. + endsAt: + type: + - string + - 'null' + description: |- + The date until when the token will be active, in ISO 8601 format. Will be `null` if the token + does not have an end date (yet). + readOnly: true + partnerContractSignedAt: + type: + - string + - 'null' + description: |- + The date the partner contract was signed, in ISO 8601 format. Omitted if no contract has been signed + (yet). + readOnly: true + partnerContractUpdateAvailable: + type: boolean + description: Whether an update to the partner contract is available and requiring the organization's agreement. + readOnly: true + partnerContractExpiresAt: + type: string + description: |- + The expiration date of the signed partner contract, in ISO 8601 format. Omitted if contract has no + expiration date (yet). + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + signuplink: + $ref: '#/components/schemas/url' + description: |- + The URL that can be used to have new organizations sign up and be automatically linked to this + partner. Will be omitted if the partner is not of type `signuplink`. + documentation: + $ref: '#/components/schemas/url' + required: + - resource + - partnerType + examples: + get-partner-status-200-1: + summary: The partner status object + value: + resource: partner + partnerType: signuplink + partnerContractSignedAt: '2024-03-20T13:59:02.0Z' + partnerContractExpiresAt: '2024-04-19T23:59:59.0Z' + _links: + self: + href: ... + type: application/hal+json + signuplink: + href: https://www.mollie.com/dashboard/signup/exampleCode + type: text/html + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/organizations/me/partner \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $partner = $mollie->send(new GetOrganizationPartnerStatusRequest()); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + organization = Mollie::Partner.current + x-speakeasy-group: organizations + parameters: + - $ref: '#/components/parameters/idempotency-key' + /profiles: + post: + summary: Create profile + x-speakeasy-name-override: create + tags: + - Profiles API + operationId: create-profile + security: + - oAuth: + - profiles.write + description: |- + Create a profile to process payments on. + + Profiles are required for payment processing. Normally they are created via the Mollie dashboard. Alternatively, you + can use this endpoint to automate profile creation. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/entity-profile' + required: + - name + - website + - email + - phone + responses: + '201': + description: The newly created profile object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-profile-response' + examples: + create-profile-201-1: + $ref: '#/components/examples/get-profile' + create-profile-201-2: + summary: Create profile + x-request: ./requests.yaml#/oauth-create-profile + value: + resource: profile + id: pfl_2q3RyuMGry + mode: live + name: My website name + website: https://example.com + email: test@mollie.com + phone: '+31208202070' + businessCategory: OTHER_MERCHANDISE + status: unverified + createdAt: '2022-01-19T12:30:22+00:00' + review: + status: pending + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/settings/profiles/pfl_2q3RyuMGry + type: text/html + chargebacks: + href: https://api.mollie.com/v2/chargebacks?profileId=pfl_2q3RyuMGry + type: application/hal+json + methods: + href: https://api.mollie.com/v2/methods?profileId=pfl_2q3RyuMGry + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments?profileId=pfl_2q3RyuMGry + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds?profileId=pfl_2q3RyuMGry + type: application/hal+json + checkoutPreviewUrl: + href: https://www.mollie.com/checkout/preview/pfl_2q3RyuMGry + type: text/html + documentation: + href: ... + type: text/html + '422': + description: The request contains issues. For example, if a profile name is missing or website URL is invalid. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'website' field is missing + field: website + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/profiles \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" \ + -d "name=My website name" \ + -d "website=https://shop.example.org" \ + -d "email=info@example.org" \ + -d "phone=+31208202070" \ + -d "businessCategory=OTHER_MERCHANDISE" \ + -d "mode=live" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $profile = $mollie->send( + new CreateProfileRequest( + name: "My website name", + website: "https://shop.example.org", + email: "info@example.org", + phone: "+31208202070", + businessCategory: "OTHER_MERCHANDISE" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const profile = await mollieClient.profiles.create({ + name: 'My website name', + website: 'https://shop.example.org', + email: 'info@example.org', + phone: '+31208202070', + businessCategory: 'OTHER_MERCHANDISE', + mode: 'live' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + profile = mollie_client.profiles.create({ + "name": "My website name", + "website": "https://shop.example.org", + "email": "info@example.org", + "phone": "+31208202070", + "businessCategory": "OTHER_MERCHANDISE", + "mode": "live", + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + profile = Mollie::Profile.create( + name: 'My website name', + website: 'https://shop.example.org', + email: 'info@example.org', + phone: '+31208202070', + businessCategory: 'OTHER_MERCHANDISE', + mode: 'live' + ) + x-speakeasy-group: profiles + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List profiles + x-speakeasy-name-override: list + tags: + - Profiles API + operationId: list-profiles + security: + - oAuth: + - profiles.read + description: |- + Retrieve a list of all of your profiles. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: pfl_QkEhN94Ba + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of profile objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + profiles: + description: An array of profile objects. + type: array + items: + $ref: '#/components/schemas/entity-profile-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-profiles-200-1: + summary: A list of profile objects + value: + count: 5 + _embedded: + profiles: + - resource: profile + id: pfl_QkEhN94Ba + mode: live + name: My website name + website: https://shop.example.org + email: info@example.org + phone: '+31208202070' + businessCategory: OTHER_MERCHANDISE + status: verified + review: + status: pending + createdAt: '2023-03-20T09:28:37.0Z' + _links: + self: + href: ... + type: application/hal+json + - {} + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/profiles?from=pfl_v9hTwCvYqw&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/profiles \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $profiles = $mollie->send(new GetPaginatedProfilesRequest()); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const profiles = await mollieClient.profiles.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + profiles = mollie_client.profiles.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + profiles = Mollie::Profile.all + x-speakeasy-group: profiles + /profiles/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: pfl_QkEhN94Ba + get: + summary: Get profile + x-speakeasy-name-override: get + tags: + - Profiles API + operationId: get-profile + security: + - oAuth: + - profiles.read + description: Retrieve a single profile by its ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The profile object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-profile-response' + examples: + get-profile-200-1: + $ref: '#/components/examples/get-profile' + '404': + $ref: '#/components/responses/404-invalid-id' + '410': + description: |- + The requested resource is no longer available. The profile associated + with the ID has been deleted and cannot be accessed. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 410 + title: Gone + detail: Profile with token pfl_QkEhN94Ba has been deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $profile = $mollie->send(new GetProfileRequest("pfl_QkEhN94Ba")); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const profile = await mollieClient.profiles.get('pfl_QkEhN94Ba'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + profile = mollie_client.profiles.get("pfl_QkEhN94Ba") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + profile = Mollie::Profile.get('pfl_QkEhN94Ba') + x-speakeasy-group: profiles + patch: + summary: Update profile + x-speakeasy-name-override: update + tags: + - Profiles API + operationId: update-profile + security: + - oAuth: + - profiles.write + description: |- + Update an existing profile. + + Profiles are required for payment processing. Normally they are created and updated via the Mollie dashboard. + Alternatively, you can use this endpoint to automate profile management. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: + - string + - 'null' + description: |- + The profile's name, this will usually reflect the trade name or brand name of the profile's website or + application. + example: My new website name + website: + type: + - string + - 'null' + description: |- + The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs + are allowed. + example: https://example.com + email: + type: + - string + - 'null' + description: The email address associated with the profile's trade name or brand. + example: test@mollie.com + phone: + type: + - string + - 'null' + description: The phone number associated with the profile's trade name or brand. + example: '+31208202071' + description: + type: + - string + - 'null' + description: The products or services offered by the profile's website or application. + example: My website description + maxLength: 500 + countriesOfActivity: + type: + - array + - 'null' + items: + type: string + description: |- + A list of countries where you expect that the majority of the profile's customers reside, + in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + example: + - NL + - GB + businessCategory: + type: + - string + - 'null' + description: |- + The industry associated with the profile's trade name or brand. Please refer to the + [business category list](common-data-types) for all possible options. + example: OTHER_MERCHANDISE + mode: + type: + - string + - 'null' + description: |- + Updating a profile from `test` mode to `live` mode will trigger a verification process, where we review + the profile before it can start accepting payments. + enum: + - live + - test + example: live + responses: + '200': + description: The updated profile object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-profile-response' + examples: + update-profile-200-1: + summary: The updated profile object + value: + resource: profile + id: pfl_QkEhN94Ba + mode: live + name: My updated website name + website: https://updated.example.org + email: info@example.org + phone: '+31208202070' + businessCategory: OTHER_MERCHANDISE + status: verified + review: + status: pending + createdAt: '2023-03-20T09:28:37.0Z' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_123456789/settings/profiles/pfl_QkEhN94Ba + type: text/html + documentation: + href: ... + type: text/html + update-profile-200-2: + summary: Update profile + x-request: ./requests.yaml#/oauth-update-profile + value: + resource: profile + id: pfl_2q3RyuMGry + mode: live + name: My new website name + website: https://example.com + email: test@mollie.com + phone: '+31208202071' + businessCategory: OTHER_MERCHANDISE + status: unverified + createdAt: '2022-01-19T12:30:22+00:00' + review: + status: pending + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/settings/profiles/pfl_2q3RyuMGry + type: text/html + chargebacks: + href: https://api.mollie.com/v2/chargebacks?profileId=pfl_2q3RyuMGry + type: application/hal+json + methods: + href: https://api.mollie.com/v2/methods?profileId=pfl_2q3RyuMGry + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments?profileId=pfl_2q3RyuMGry + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds?profileId=pfl_2q3RyuMGry + type: application/hal+json + checkoutPreviewUrl: + href: https://www.mollie.com/checkout/preview/pfl_2q3RyuMGry + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '410': + description: |- + The requested resource is no longer available. The profile associated + with the ID has been deleted and cannot be accessed. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 410 + title: Gone + detail: Profile with token pfl_QkEhN94Ba has been deleted. + _links: + documentation: + href: ... + type: text/html + '422': + description: |- + The request contains issues. For example, if you are trying to update a + property that can not be updated. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: At least the 'name', 'website', 'email', 'phone', 'categoryCode', 'businessCategory', 'description', 'countriesOfActivity' or 'mode' field has to be provided + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" \ + -d "name=My updated website name" \ + -d "website=https://updated.example.org" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $profile = $mollie->send( + new UpdateProfileRequest( + id: "pfl_QkEhN94Ba", + name: "My updated website name", + website: "https://updated.example.org" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + await mollieClient.profiles.update('pfl_QkEhN94Ba', { + name: 'My updated website name', + website: 'https://updated.example.org' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + profile = mollie_client.profiles.update("pfl_QkEhN94Ba", { + "name": "My updated website name", + "website": "https://updated.example.org" + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + profile = Mollie::profile.update( + 'pfl_QkEhN94Ba', + name: 'My updated website name', + website: 'https://updated.example.org' + ) + x-speakeasy-group: profiles + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Delete profile + x-speakeasy-name-override: delete + tags: + - Profiles API + operationId: delete-profile + security: + - oAuth: + - profiles.write + description: Delete a profile. A deleted profile and its related credentials can no longer be used for accepting payments. + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '410': + description: |- + The requested resource is no longer available. The profile associated + with the ID has been deleted and cannot be accessed. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 410 + title: Gone + detail: Profile with token pfl_QkEhN94Ba has been deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $mollie->send(new DeleteProfileRequest("pfl_QkEhN94Ba")); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const profile = await mollieClient.profiles.delete('pfl_QkEhN94Ba'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + mollie_client.profiles.delete("pfl_QkEhN94Ba") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + Mollie::Profile.delete('pfl_QkEhN94Ba') + x-speakeasy-group: profiles + parameters: + - $ref: '#/components/parameters/idempotency-key' + /profiles/me: + get: + summary: Get current profile + x-speakeasy-name-override: get-current + tags: + - Profiles API + operationId: get-current-profile + security: + - apiKey: [] + description: |- + Retrieve the currently authenticated profile. A convenient alias of the [Get profile](get-profile) + endpoint. + + For a complete reference of the profile object, refer to the [Get profile](get-profile) endpoint + documentation. + responses: + '200': + description: |- + The current profile object. For a complete reference of the profile object, refer to the + [Get profile](get-profile) endpoint documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-profile-response' + examples: + get-current-profile-200-1: + summary: The current profile object + value: + resource: profile + id: pfl_85dxyKqNHa + mode: live + name: Jonas Test BV + website: https://example.com + email: test@mollie.com + phone: '+31612345678' + businessCategory: MONEY_SERVICES + status: verified + createdAt: '2021-12-08T15:42:58+00:00' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/settings/profiles/pfl_85dxyKqNHa + type: text/html + chargebacks: + href: https://api.mollie.com/v2/chargebacks + type: application/hal+json + methods: + href: https://api.mollie.com/v2/methods + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds + type: application/hal+json + checkoutPreviewUrl: + href: https://www.mollie.com/checkout/preview/pfl_85dxyKqNHa + type: text/html + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/profiles/me \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $profile = $mollie->send(new GetCurrentProfileRequest()); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const profile = await mollieClient.profiles.getCurrent(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + profile = mollie_client.profiles.get("me") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + profile = Mollie::Profile.current + x-speakeasy-group: profiles + parameters: + - $ref: '#/components/parameters/idempotency-key' + /onboarding/me: + get: + summary: Get onboarding status + x-speakeasy-name-override: get + tags: + - Onboarding API + operationId: get-onboarding-status + security: + - oAuth: + - onboarding.read + description: Retrieve the onboarding status of the currently authenticated organization. + responses: + '200': + description: The onboarding status object of the current organization. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-onboarding-status' + examples: + get-onboarding-status-200-1: + summary: The onboarding status object of the current organization + value: + resource: onboarding + name: Mollie B.V. + status: completed + canReceivePayments: true + canReceiveSettlements: true + signedUpAt: '2023-12-20T10:49:08.0Z' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/onboarding + type: text/html + organization: + href: https://api.mollie.com/v2/organizations/org_12345678 + type: application/hal+json + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/onboarding/me \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $onboarding = $mollie->send(new GetOnboardingStatusRequest()); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + onboarding = mollie_client.onboarding.get("me") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + onboarding = Mollie::Onboarding.me + x-speakeasy-group: onboarding + parameters: + - $ref: '#/components/parameters/idempotency-key' + post: + summary: Submit onboarding data + x-speakeasy-name-override: submit + tags: + - Onboarding API + operationId: submit-onboarding-data + security: + - oAuth: + - onboarding.write + description: |- + **⚠️ We no longer recommend implementing this endpoint. Please refer to the Client Links API instead to kick off the + onboarding process for your merchants.** + + Submit data that will be prefilled in the merchant's onboarding. The data you submit will only be processed when the + onboarding status is `needs-data`. + Information that the merchant has entered in their dashboard will not be overwritten. + requestBody: + content: + application/json: + schema: + type: object + properties: + organization: + type: object + properties: + name: + type: string + description: The name of the organization. + example: Mollie B.V. + address: + $ref: '#/components/schemas/address' + description: The address of the organization. + registrationNumber: + type: string + description: The registration number of the organization at their local chamber of commerce. + example: '30204462' + vatNumber: + type: + - string + - 'null' + description: |- + The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT + numbers are verified against the international registry *VIES*. + + The field can be omitted for merchants residing in other countries. + example: NL815839091B01 + vatRegulation: + type: + - string + - 'null' + description: |- + Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in + The United Kingdom, and shifted VAT for merchants in the European Union. + + The field can be omitted for merchants residing in other countries. + enum: + - dutch + - british + - shifted + example: dutch + profile: + type: object + properties: + name: + type: string + description: |- + The profile's name, this will usually reflect the trade name or brand name of the profile's website + or application. + example: Mollie + url: + type: string + description: |- + The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` + signs are allowed. + example: https://www.mollie.com + email: + type: string + description: The email address associated with the profile's trade name or brand. + example: info@mollie.com + phone: + type: string + description: The phone number associated with the profile's trade name or brand. + example: '+31208202070' + description: + type: + - string + - 'null' + description: The products or services offered by the profile's website or application. + example: Payment service provider + businessCategory: + type: string + description: |- + The industry associated with the profile's trade name or brand. Please refer to the + [business category list](common-data-types) for all possible options. + example: MONEY_SERVICES + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/onboarding/me \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "organization[name]=Mollie B.V." \ + -d "organization[address][streetAndNumber]=Keizersgracht 126" \ + -d "organization[address][postalCode]=1015 CW" \ + -d "organization[address][city]=Amsterdam" \ + -d "organization[address][country]=NL" \ + -d "organization[registrationNumber]=30204462" \ + -d "organization[vatNumber]=NL815839091B01" \ + -d "profile[name]=Mollie" \ + -d "profile[url]=https://www.mollie.com" \ + -d "profile[email]=info@mollie.com" \ + -d "profile[phone]=+31208202070" \ + -d "profile[businessCategory]=MONEY_SERVICES" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $mollie->send(new DynamicPostRequest( + url: "onboarding/me", + payload: [ + "organization" => [ + "name" => "Mollie B.V.", + "address" => [ + "streetAndNumber" => "Keizersgracht 126", + "postalCode" => "1015 CW", + "city" => "Amsterdam", + "country" => "NL", + ], + "registrationNumber" => "30204462", + "vatNumber" => "NL815839091B01", + ], + "profile" => [ + "name" => "Mollie", + "url" => "https://www.mollie.com", + "email" => "info@mollie.com", + "phone" => "+31208202070", + "businessCategory" => "MONEY_SERVICES", + ], + ] + )); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + mollie_client.onboarding.create({ + "organization": { + "name": "Mollie B.V.", + "address": { + "streetAndNumber": "Keizersgracht 126", + "postalCode": "1015 CW", + "city": "Amsterdam", + "country": "NL", + }, + "registrationNumber": "30204462", + "vatNumber": "NL815839091B01", + }, + "profile": { + "name": "Mollie", + "url": "https://www.mollie.com", + "email": "info@mollie.com", + "phone": "+31208202070", + "categoryCode": 6012, + }, + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + Mollie::Onboarding.submit( + organization: { + name: "Mollie B.V.", + address: { + streetAndNumber: "Keizersgracht 126", + postalCode: "1015 CW", + city: "Amsterdam", + country: "NL" + }, + registrationNumber: "30204462", + vatNumber: "NL815839091B01" + }, + profile: { + name: "Mollie", + url: "https://www.mollie.com", + email: "info@mollie.com", + phone: "+31208202070", + businessCategory: "MONEY_SERVICES" + } + ) + x-speakeasy-group: onboarding + parameters: + - $ref: '#/components/parameters/idempotency-key' + /capabilities: + get: + summary: List capabilities + x-speakeasy-name-override: list + tags: + - Capabilities API + operationId: list-capabilities + security: + - oAuth: + - onboarding.read + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + Retrieve a list of capabilities for an organization. + + This API provides detailed insights into the specific requirements and status of each client's onboarding journey. + + Capabilities are at the organization level, indicating if the organization can perform a given capability. + + For payments, regardless them being at the profile level, the capability is listed at the organization level. + This means that if at least one of the clients's profiles can receive payments, + the payments capability is enabled, communicating that the organization can indeed receive payments. + responses: + '200': + description: A list of capabilities. + content: + application/hal+json: + schema: + type: object + properties: + count: + type: integer + description: The number of items in this result set. + example: 2 + _embedded: + type: object + properties: + capabilities: + type: array + items: + $ref: '#/components/schemas/entity-capability' + _links: + type: object + properties: + documentation: + type: object + properties: + href: + type: string + type: + type: string + examples: + successful-response-200-1: + summary: Description of a capability. + value: + count: 1 + _embedded: + capabilities: + - resource: capability + name: payments + status: pending + statusReason: onboarding-information-needed + requirements: + - id: legal-representatives + dueDate: null + status: requested + _links: + dashboard: + href: https://my.mollie.com/dashboard/... + type: text/html + - id: bank-account + dueDate: '2024-05-14T01:29:09.283Z' + status: past-due + _links: + dashboard: + href: https://my.mollie.com/dashboard/... + type: text/html + _links: + documentation: + href: https://docs.mollie.com/reference/list-capabilities + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/capabilities \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $capabilities = $mollie->send(new ListCapabilitiesRequest()); + + foreach ($capabilities as $capability) { + echo "Capability: " . $capability->name . "\n"; + echo "Status: " . $capability->status . "\n\n"; + } + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: capabilities + parameters: + - $ref: '#/components/parameters/idempotency-key' + /clients: + get: + summary: List clients + x-speakeasy-name-override: list + tags: + - Clients API + operationId: list-clients + security: + - oAuth: + - clients.read + description: |- + Retrieve a list of all clients linked to your account. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the + following values via the `embed` query string parameter. + + * `organization`: Include the organization of the client. Available for `signuplink` partners, or for `oauth` + partners with the `organizations.read` scope. + * `onboarding`: Include the onboarding status of the client. Available for `signuplink` partners, or for `oauth` + partners with the `onboarding.read` scope. + * `capabilities`: Include the [capabilities](list-capabilities) of the client organization. + Available for *oauth* partners with the `onboarding.read` scope. + schema: + type: + - string + - 'null' + example: organization + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: org_12345678 + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of client objects. For a complete reference of the client object, refer to the + [Get client endpoint](get-client) documentation. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + clients: + description: |- + An array of client objects. For a complete reference of the client object, refer to the + [Get client endpoint](get-client) documentation. + type: array + items: + allOf: + - $ref: '#/components/schemas/entity-client' + - type: object + properties: + _embedded: + type: object + properties: + organization: + $ref: '#/components/schemas/entity-organization' + onboarding: + $ref: '#/components/schemas/entity-onboarding-status' + capabilities: + $ref: '#/components/schemas/entity-capability' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-clients-200-1: + summary: A list of client objects + value: + count: 5 + _embedded: + clients: + - resource: client + id: org_12345678 + commission: + count: 0 + organizationCreatedAt: '2023-04-06 13:10:19+00:00' + _links: + self: + href: ... + type: application/hal+json + - {} + - {} + - {} + - {} + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/clients?from=org_63916732&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/clients \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $clients = $mollie->send(new GetPaginatedClientRequest()); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + clients = mollie_client.clients.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + clients = Mollie::Client.all + x-speakeasy-group: clients + /clients/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: org_12345678 + get: + summary: Get client + x-speakeasy-name-override: get + tags: + - Clients API + operationId: get-client + security: + - oAuth: + - clients.read + description: Retrieve a single client by its ID. + parameters: + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + + * `organization`: Include the organization of the client. Available for `signuplink` partners, or for `oauth` + partners with the `organizations.read` scope. + * `onboarding`: Include the onboarding status of the client. Available for `signuplink` partners, or for `oauth` + partners with the `onboarding.read` scope. + * `capabilities`: Include the [capabilities](list-capabilities) of the client organization. + Available for *oauth* partners with the `onboarding.read` scope. + schema: + type: + - string + - 'null' + example: organization + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The client object. + content: + application/hal+json: + schema: + allOf: + - $ref: '#/components/schemas/entity-client' + - type: object + properties: + _embedded: + type: object + properties: + organization: + $ref: '#/components/schemas/entity-organization' + onboarding: + $ref: '#/components/schemas/entity-onboarding-status' + capabilities: + $ref: '#/components/schemas/entity-capability' + examples: + get-client-200-1: + summary: The client object + value: + resource: client + id: org_12345678 + organizationCreatedAt: '2023-04-06 13:10:19+00:00' + _links: + self: + href: ... + type: application/hal+json + organization: + href: https://api.mollie.com/v2/organizations/org_12345678 + type: application/hal+json + onboarding: + href: https://api.mollie.com/v2/onboarding/org_12345678 + type: application/hal+json + documentation: + href: ... + type: text/html + get-client-200-2: + summary: Get client + x-request: ./requests.yaml#/oauth-get-client + value: + resource: client + id: org_7049691 + organizationCreatedAt: '2019-12-06T10:09:32+00:00' + _links: + self: + href: https://api.mollie.com/v2/clients/org_7049691 + type: application/hal+json + onboarding: + href: https://api.mollie.com/v2/onboarding/org_7049691 + type: application/hal+json + organization: + href: https://api.mollie.com/v2/organization/org_7049691 + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/v2/partners-api/get-client + type: text/html + get-client-200-3: + summary: Get client with organization embedded + x-request: ./requests.yaml#/oauth-get-client-with-organization-embedded + value: + resource: client + id: org_7049691 + organizationCreatedAt: '2019-12-06T10:09:32+00:00' + _embedded: + organization: + resource: organization + id: org_7049691 + name: Hugo's eenzame zaak + email: '[[redacted]]' + locale: en_US + address: + streetAndNumber: '[[redacted]]' + postalCode: '[[redacted]]' + city: '[[redacted]]' + country: '[[redacted]]' + registrationNumber: '[[redacted]]' + vatNumber: '' + vatRegulation: dutch + verifiedAt: '2020-10-19T11:45:36+00:00' + _links: + self: + href: https://api.mollie.com/v2/organization/org_7049691 + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/ + type: text/html + _links: + self: + href: https://api.mollie.com/v2/clients/org_7049691 + type: application/hal+json + onboarding: + href: https://api.mollie.com/v2/onboarding/org_7049691 + type: application/hal+json + organization: + href: https://api.mollie.com/v2/organization/org_7049691 + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/v2/partners-api/get-client + type: text/html + get-client-200-4: + summary: Get client with onboarding status embedded + x-request: ./requests.yaml#/oauth-get-client-with-onboarding-status-embedded + value: + resource: client + id: org_7049691 + organizationCreatedAt: '2019-12-06T10:09:32+00:00' + _embedded: + onboarding: + resource: onboarding + name: Hugo's eenzame zaak + signedUpAt: '2019-12-06T10:09:32+00:00' + status: completed + canReceivePayments: true + canReceiveSettlements: true + _links: + self: + href: https://api.mollie.com/v2/onboarding/me + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/onboarding + type: text/html + organization: + href: https://api.mollie.com/v2/organization/org_7049691 + type: application/hal+json + _links: + self: + href: https://api.mollie.com/v2/clients/org_7049691 + type: application/hal+json + onboarding: + href: https://api.mollie.com/v2/onboarding/org_7049691 + type: application/hal+json + organization: + href: https://api.mollie.com/v2/organization/org_7049691 + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/v2/partners-api/get-client + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/clients/org_12345678 \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" + - language: php + code: |- + setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"); + + $client = $mollie->send(new GetClientRequest(id: "org_12345678")); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ") + + client = mollie_client.clients.get("org_12345678") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' + end + + client = Mollie::Client.get('org_12345678') + x-speakeasy-group: clients + /client-links: + post: + summary: Create client link + x-speakeasy-name-override: create + tags: + - Client Links API + operationId: create-client-link + security: + - oAuth: + - clients.write + description: |- + Link a new or existing organization to your OAuth application, in effect creating a new client. The response + contains a `clientLink` where you should redirect your customer to. + + ## Redirecting the Customer + + The `clientLink` URL behaves similarly to a standard OAuth authorization URL. Therefore, after receiving the + `clientLink` URL in the API response, you need to **append the following query parameters** *before* redirecting + the customer: + + * `client_id` _string (required)_ + + The client ID you received when you registered your OAuth app. The ID starts with `app_`. For example: + `app_abc123qwerty`. + + * `state` _string (required)_ + + A random string **generated by your app** to prevent CSRF attacks. This will be reflected in the `state` query + parameter when the user returns to the `redirect_uri` after authorizing your app. + + * `scope` _string (required)_ + + A space-separated list of permissions ('scopes') your app requires. See the + [permissions list](https://docs.mollie.com/docs/connect-permissions) for more information about the available + scopes. + + We recommend at least : `onboarding.read onboarding.write` + + * `approval_prompt` _string_ + + Can be set to `force` to force showing the consent screen to the merchant, *even when it is not necessary*. If you + force an approval prompt and the user creates a new authorization, previously active authorizations will be + revoked. + + Possible values: `auto` `force` (default: `auto`) + + ### Example of a Complete Redirect URL + + After adding the above url parameter your URL will look something like this and you can redirect your client to this + page: + + ``` + https://my.mollie.com/dashboard/client-link/{id}?client_id={your_client_id}&state={unique_state}&scope=onboarding.read%20onboarding.write + ``` + + ## Error Handling + + Error handling is also dealt with similar to the [Authorize](https://docs.mollie.com/reference/authorize) endpoint: + the customer is redirected back to your app's redirect URL with the `error` and `error_description` parameters added + to the URL. + + > 🚧 + > + > A client link must be used within 30 days of creation. After that period, it will expire and you will need to create a new client link. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-client-link' + required: + - owner + - name + - address + responses: + '201': + description: The newly created client link object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-client-link-response' + examples: + create-client-link-201-1: + summary: The newly created client link object + value: + resource: client-link + id: cl_vZCnNQsV2UtfXxYifWKWH + _links: + self: + href: ... + type: application/hal+json + clientLink: + href: https://my.mollie.com/dashboard/client-link/cl_vZCnNQsV2UtfXxYifWKWH + type: text/html + documentation: + href: ... + type: text/html + create-client-link-201-2: + summary: Create client link all parameters + x-request: ./requests.yaml#/oauth-create-client-link-all-parameters + value: + id: csr_ayCz46QLwCbxpTaSYQQZH + resource: client-link + _links: + clientLink: + href: https://my.mollie.com/dashboard/client-link/csr_ayCz46QLwCbxpTaSYQQZH + type: text/html + documentation: + href: ... + type: text/html + create-client-link-201-3: + summary: Create client link minimal requirements + x-request: ./requests.yaml#/oauth-create-client-link-minimal-requirements + value: + id: csr_ayCz46QLwCbxpTaSYQQZH + resource: client-link + _links: + clientLink: + href: https://my.mollie.com/dashboard/client-link/csr_ayCz46QLwCbxpTaSYQQZH + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + $ref: '#/components/responses/422-mandatory-owner' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/client-links \ + -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ" \ + -d "owner[email]=info@example.org" \ + -d "owner[givenName]=Chuck" \ + -d "owner[familyName]=Norris" \ + -d "address[country]=NL" \ + -d "name=Mollie B.V." \ + -d "registrationNumber=30204462" \ + -d "vatNumber=NL815839091B01" + - language: php + code: |- + setAccessToken('access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'); + + $clientLink = $mollie->send( + new CreateClientLinkRequest( + owner: new Owner( + email: 'info@example.org', + givenName: 'Chuck', + familyName: 'Norris' + ), + name: 'Mollie B.V.', + address: new OwnerAddress(countryCode: 'NL'), + registrationNumber: '30204462', + vatNumber: 'NL815839091B01' + ) + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + client = Client() + authorized, authorization_url = client.setup_oauth(...) + + print("authorized", authorized) + print("authorization_url", authorization_url) + + client_link = client.client_links.create( + { + "owner[email]": "info@example.org", + "owner[givenName]": "Chuck", + "owner[familyName]": "Norris", + "address[country]": "NL", + "name": "Mollie B.V.", + "registrationNumber": 30204462, + "vatNumber": "NL815839091B01", + } + ) + - language: ruby + code: '' + x-speakeasy-group: client-links + parameters: + - $ref: '#/components/parameters/idempotency-key' + /webhooks: + post: + summary: Create a webhook + x-speakeasy-name-override: create + tags: + - Webhooks API + operationId: create-webhook + security: + - oAuth: + - webhooks.write + description: A webhook must have a name, an url and a list of event types. You can also create webhooks in the webhooks settings section of the Dashboard. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: A name that identifies the webhook. + example: 'Webhook #1' + url: + type: string + description: The URL Mollie will send the events to. This URL must be publicly accessible. + example: https://mollie.com/ + eventTypes: + type: string + description: |- + The list of events to enable for this webhook. You may specify `'*'` to add all events, except those + that require explicit selection. Separate multiple event types with a comma. + $ref: '#/components/schemas/webhook-event-types' + testmode: + $ref: '#/components/schemas/testmode-create' + required: + - name + - url + - eventTypes + responses: + '201': + description: The webhook object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/create-webhook' + examples: + create-webhook-200: + summary: The webhook subscription object + value: + resource: webhook + id: hook_B2EyhTH5N4KWUnoYPcgiH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:09:56+00:00' + name: 'Webhook #1' + status: enabled + mode: live + webhookSecret: VpQ3WukU6uSCGQ8TPTD3WPDpac3GyNEj + eventTypes: + - payment-link.paid + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/create-webhook + type: text/html + '422': + description: The request contains issues. For example, if the URL is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable entity + detail: Invalid URL provided + field: url + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/webhooks \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" \ + -d "name=Payment notification" \ + -d "url=https://mollie.com" \ + -d "eventTypes=payments.read" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $webhook = $mollie->send( + new CreateWebhookRequest( + url: 'https://mollie.com', + name: 'Payment notification', + eventTypes: 'payments.read' + ) + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List all webhooks + x-speakeasy-name-override: list + tags: + - Webhooks API + operationId: list-webhooks + security: + - oAuth: + - webhooks.read + description: Returns a paginated list of your webhooks. If no webhook endpoints are available, the resulting array will be empty. This request should never throw an error. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: hook_B2EyhTH5N4KWUnoYPcgiH + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - name: eventTypes + description: Used to filter out only the webhooks that are subscribed to certain types of events. + in: query + schema: + $ref: '#/components/schemas/webhook-event-types' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of webhooks. For a complete reference of the webhook + object, refer to the [Get hook endpoint](get-webhook) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - webhooks + properties: + webhooks: + description: A list of webhooks. + type: array + items: + $ref: '#/components/schemas/entity-webhook' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-webhook-200: + summary: Get a list of webhooks + value: + _embedded: + webhooks: + - resource: webhook + id: hook_yjtBMWDCGw5YFSPQ3HPzH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:09:56+00:00' + name: 'Webhook #2' + eventTypes: + - payment-link.paid + - sales-invoice.created + status: enabled + mode: live + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/get-webhook + type: text/html + - resource: webhook + id: hook_qHknfTxaDx6s8JNhuGPzH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:08:48+00:00' + name: 'Webhook #1' + eventTypes: + - payment-link.paid + status: blocked + mode: live + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/get-webhook + type: text/html + count: 2 + _links: + documentation: + href: https://docs.mollie.com/reference/list-webhook + type: text/html + self: + href: https://api.mollie.localhost/v2/webhooks?from=hook_yjtBMWDCGw5YFSPQ3HPzH&limit=2 + type: application/hal+json + previous: + href: https://api.mollie.localhost/v2/webhooks?from=hook_5foxphpBru4xNPCDJJPzH&limit=2 + type: application/hal+json + next: + href: https://api.mollie.localhost/v2/webhooks?from=hook_fTqARmWsfs9oXvKbZEPzH&limit=2 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/webhooks/hook_B2EyhTH5N4KWUnoYPcgiH \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $webhook = $mollie->send( + new GetWebhookRequest(id: 'hook_B2EyhTH5N4KWUnoYPcgiH') + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + /webhooks/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: hook_B2EyhTH5N4KWUnoYPcgiH + patch: + summary: Update a webhook + x-speakeasy-name-override: update + tags: + - Webhooks API + operationId: update-webhook + security: + - oAuth: + - webhooks.write + description: Updates the webhook. You may edit the name, url and the list of subscribed event types. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: A name that identifies the webhook. + example: 'Webhook #1' + url: + type: string + description: The URL Mollie will send the events to. This URL must be publicly accessible. + example: https://mollie.com/ + eventTypes: + type: string + description: |- + The list of events to enable for this webhook. You may specify `'*'` to add all events, except those + that require explicit selection. Separate multiple event types with a comma. + $ref: '#/components/schemas/webhook-event-types' + testmode: + $ref: '#/components/schemas/testmode' + responses: + '200': + description: The webhook object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-webhook' + examples: + create-webhook-200: + summary: The webhook subscription object + value: + resource: webhook + id: hook_B2EyhTH5N4KWUnoYPcgiH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:09:56+00:00' + name: 'Webhook #1' + status: enabled + mode: live + webhookSecret: VpQ3WukU6uSCGQ8TPTD3WPDpac3GyNEj + eventTypes: + - payment-link.paid + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/create-webhook + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the URL is invalid. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable entity + detail: Invalid URL provided + field: url + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/webhooks/hook_B2EyhTH5N4KWUnoYPcgiH \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" \ + -d "name=Payment notification" \ + -d "url=https://mollie.com" \ + -d "eventTypes=payments.read" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $webhook = $mollie->send( + new UpdateWebhookRequest( + id: 'hook_B2EyhTH5N4KWUnoYPcgiH', + url: 'https://mollie.com', + name: 'Payment notification', + eventTypes: 'payments.read' + ) + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: Get a webhook + x-speakeasy-name-override: get + tags: + - Webhooks API + operationId: get-webhook + security: + - oAuth: + - webhooks.read + description: Retrieve a single webhook object by its ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The webhook object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-webhook' + examples: + get-webhook-200: + summary: An enabled hook subscription object + value: + resource: webhook + id: hook_B2EyhTH5N4KWUnoYPcgiH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:09:56+00:00' + name: 'Webhook #1' + status: enabled + mode: test + eventTypes: + - payment-link.paid + - sales-invoice.paid + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/get-webhook + type: text/html + get-webhook-200-1: + summary: A deleted hook subscription object + value: + resource: webhook + id: hook_B2EyhTH5N4KWUnoYPcgiH + url: https://mollie.com + profileId: pfl_8XcSdLtrNK + createdAt: '2024-12-06T10:09:56+00:00' + name: 'Webhook #1' + status: deleted + mode: test + eventTypes: + - payment-link.paid + _links: + self: + href: ... + type: application/hal+json + documentation: + href: https://docs.mollie.com/reference/get-webhook + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the webhook has already been deleted. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable entity + detail: This subscription was already deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/webhooks/hook_B2EyhTH5N4KWUnoYPcgiH \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $webhook = $mollie->send( + new GetWebhookRequest(id: 'hook_B2EyhTH5N4KWUnoYPcgiH') + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + delete: + summary: Delete a webhook + x-speakeasy-name-override: delete + tags: + - Webhooks API + operationId: delete-webhook + security: + - oAuth: + - webhooks.write + description: Delete a single webhook object by its webhook ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '204': + description: No content. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the webhook has already been deleted. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable entity + detail: This subscription was already deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/webhooks/hook_B2EyhTH5N4KWUnoYPcgiH \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $mollie->send( + new DeleteWebhookRequest(id: 'hook_B2EyhTH5N4KWUnoYPcgiH') + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + parameters: + - $ref: '#/components/parameters/idempotency-key' + /webhooks/{id}/ping: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: hook_B2EyhTH5N4KWUnoYPcgiH + post: + summary: Test a webhook + x-speakeasy-name-override: test + tags: + - Webhooks API + operationId: test-webhook + security: + - oAuth: + - webhooks.write + description: Sends a test event to the webhook to verify the endpoint is working as expected. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '202': + description: Accepted. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the webhook has already been deleted. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable entity + detail: This subscription was already deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/webhooks/hook_B2EyhTH5N4KWUnoYPcgiH/ping \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $result = $mollie->send( + new TestWebhookRequest(id: 'hook_B2EyhTH5N4KWUnoYPcgiH') + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhooks + parameters: + - $ref: '#/components/parameters/idempotency-key' + /events/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: event_jd9v34P5YqN9pT8n3HJyH + get: + summary: Get a Webhook Event + x-speakeasy-name-override: get + tags: + - Webhook Events API + operationId: get-webhook-event + security: + - oAuth: + - events.read + description: Retrieve a single webhook event object by its event ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The webhook event object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-webhook-event' + examples: + get-webhook-event-200: + summary: The hook event object with full payload (snapshot) + value: + resource: event + id: event_GvJ8WHrp5isUdRub9CJyH + type: payment-link.paid + entityId: pl_qng5gbbv8NAZ5gpM5ZYgx + createdAt: '2024-12-16T15:57:04.0Z' + _embedded: + entity: + resource: payment-link + id: pl_qng5gbbv8NAZ5gpM5ZYgx + profileId: pfl_D96wnsu869 + mode: live + description: Bicycle tires + amount: + currency: EUR + value: '24.95' + minimumAmount: null + archived: false + redirectUrl: https://webshop.example.org/thanks + webhookUrl: null + reusable: true + createdAt: '2021-03-20T09:29:56.0Z' + paidAt: null + expiresAt: '2023-06-06T11:00:00.0Z' + allowedMethods: null + applicationFee: null + _links: + self: + href: https://api.mollie.com/v2/payment-links/pl_qng5gbbv8NAZ5gpM5ZYgx + type: application/hal+json + paymentLink: + href: https://www.mollie.com/paymentscreen/example + type: text/html + documentation: + href: https://docs.mollie.com/reference/v2/payment-links-api/get-payment-link + type: text/html + _links: + self: + href: https://api.mollie.com/v2/events/event_GvJ8WHrp5isUdRub9CJyH + type: application/hal+json + documentation: + href: https://docs.mollie.com/guides/webhooks + type: text/html + entity: + href: /v2/payment-links/pl_qng5gbbv8NAZ5gpM5ZYgx + type: application/hal+json + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/events/event_GvJ8WHrp5isUdRub9CJyH \ + -H "Authorization: Bearer access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH" + - language: php + code: |- + setAccessToken('access_UsJwq8nzcHbSrDuh82pyjjEaTbd5SAPtVebEJ5BH'); + + $webhookEvent = $mollie->send( + new GetWebhookEventRequest(id: 'event_GvJ8WHrp5isUdRub9CJyH') + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: webhook-events + /connect/balance-transfers: + post: + summary: Create a Connect balance transfer + x-speakeasy-name-override: create + tags: + - Balance Transfers API + operationId: create-connect-balance-transfer + security: + - oAuth: + - balance-transfers.write + description: |- + This API endpoint allows you to create a balance transfer from your organization's balance to a connected organization's balance, or vice versa. + You can also create a balance transfer between two connected organizations. + To create a balance transfer, you must be authenticated as the source organization, and the destination organization must be a connected organization + that has authorized the `balance-transfers.write` scope for your organization. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-balance-transfer' + responses: + '201': + description: The balance transfer object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-balance-transfer-response' + examples: + create-balance-transfer-200-1: + summary: Create a Connect balance transfer + value: + resource: connect-balance-transfer + id: cbtr_nBprRarXeqXi98AXSqCBJ + amount: + value: '12.34' + currency: EUR + source: + type: organization + id: org_1 + description: description for source + destination: + type: organization + id: org_2 + description: description for destination + description: description for initiating party + status: created + statusReason: + code: request_created + message: Balance transfer request created. + category: invoice_collection + createdAt: '2025-05-01T10:00:00Z' + mode: live + '422': + description: The request contains issues. For example, if the amount is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + examples: + create-balance-transfer-422-1: + summary: Create a Connect balance transfer with invalid request body + value: + status: 422 + title: Unprocessable Entity + detail: The amount contains an invalid value + field: amount.value + _links: + documentation: + href: https://docs.mollie.com/reference/create-balance-transfer + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/connect/balance-transfers \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -H "Content-Type: application/json" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=10.00" \ + -d "description=Invoice #12345" \ + -d "source[type]=organization" \ + -d "source[id]=org_123" \ + -d "source[description]=Invoice fee #12345" \ + -d "destination[type]=organization" \ + -d "destination[id]=org_456" \ + -d "destination[description]=Invoice fee retrieval #12345" + - language: php + code: '' + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: balance-transfers + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List all Connect balance transfers + x-speakeasy-name-override: list + tags: + - Balance Transfers API + operationId: list-connect-balance-transfers + security: + - oAuth: + - balance-transfers.read + description: Returns a paginated list of balance transfers associated with your organization. These may be a balance transfer that was received or sent from your balance, or a balance transfer that you initiated on behalf of your clients. If no balance transfers are available, the resulting array will be empty. This request should never throw an error. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: cbtr_j8NvRAM2WNZtsykpLEX8J + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of Connect balance transfers. For a complete reference of the Connect balance transfer + object, refer to the [Get balance transfer endpoint](get-balance-transfer) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - connect_balance_transfers + properties: + connect_balance_transfers: + description: A list of Connect balance transfers. + type: array + items: + $ref: '#/components/schemas/entity-balance-transfer-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-balance-transfer-200-1: + summary: List Connect balance transfers + value: + _embedded: + connect_balance_transfers: + - resource: connect-balance-transfer + id: cbtr_bSAG5zQUrqbJGSv3ZSU9J + amount: + value: '200.00' + currency: EUR + source: + type: organization + id: org_1 + description: description for source + destination: + type: organization + id: org_42 + description: description for destination + description: description for initiating party + status: created + statusReason: + code: request_created + message: Balance transfer request created. + createdAt: '2025-05-01T07:00:00Z' + mode: live + - resource: connect-balance-transfer + id: cbtr_aGa49xYozWV8nhUzTSU9J + amount: + value: '100.00' + currency: EUR + source: + type: organization + id: org_42 + description: description for source + destination: + type: organization + id: org_2 + description: description for destination + description: description for initiating party + status: created + statusReason: + code: request_created + message: Balance transfer request created. + createdAt: '2025-05-01T06:00:00Z' + mode: live + count: 2 + _links: + self: + href: https://api.mollie.com/v2/connect/balance-transfers?limit=50 + type: application/hal+json + previous: null + next: null + documentation: + href: https://docs.mollie.com/reference/list-balance-transfers + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/connect/balance-transfers?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: '' + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: balance-transfers + /connect/balance-transfers/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: cbtr_j8NvRAM2WNZtsykpLEX8J + get: + summary: Get a Connect balance transfer + x-speakeasy-name-override: get + tags: + - Balance Transfers API + operationId: get-connect-balance-transfer + security: + - oAuth: + - balance-transfers.read + description: Retrieve a single Connect balance transfer object by its ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The Connect balance transfer object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-balance-transfer-response' + examples: + get-balance-transfer-200-1: + summary: Get a successful Connect balance transfer + value: + resource: connect-balance-transfer + id: cbtr_nBprRarXeqXi98AXSqCBJ + amount: + value: '100.00' + currency: EUR + source: + type: organization + id: org_1 + description: description for source + destination: + type: organization + id: org_2 + description: description for destination + description: description for initiating party + status: succeeded + statusReason: + code: success + message: Balance transfer completed successfully. + createdAt: '2025-05-01T10:00:00Z' + executedAt: '2025-05-01T10:05:00Z' + mode: live + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/connect/balance-transfers/cbtr_j8NvRAM2WNZtsykpLEX8J \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + install: composer require mollie/oauth2-mollie-php + code: '' + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: balance-transfers + /payments: + post: + summary: Create payment + x-speakeasy-name-override: create + tags: + - Payments API + operationId: create-payment + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Payment creation is elemental to the Mollie API: this is where most payment + implementations start off. + + Once you have created a payment, you should redirect your customer to the + URL in the `_links.checkout` property from the response. + + To wrap your head around the payment process, an explanation and flow charts + can be found in the 'Accepting payments' guide. + + If you specify the `method` parameter when creating a payment, optional + additional parameters may be available for the payment method that are not listed below. Please refer to the + guide on [method-specific parameters](extra-payment-parameters). + parameters: + - $ref: '#/components/parameters/include' + description: This endpoint allows you to include additional information via the `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - details.qrCode + x-enumDescriptions: + details.qrCode: Include a QR code object. Only available for iDEAL, Bancontact and bank transfer payments. + example: details.qrCode + - $ref: '#/components/parameters/idempotency-key' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/payment-request' + responses: + '201': + description: The newly created payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-response' + examples: + create-payment-201-1: + $ref: '#/components/examples/get-payment' + create-payment-201-2: + summary: Minimum viable request + x-request: ./../_components/requests/common-payment-requests.yaml#/api-minimum-viable-request + value: + resource: payment + id: tr_KQb4E3WfpA + mode: test + createdAt: '2021-12-14T12:53:25+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-14T13:08:25+00:00' + profileId: pfl_fFdmWR2qQU + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/KQb4E3WfpA + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_9253561/payments/tr_KQb4E3WfpA + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-3: + summary: Dutch credit card payment with address + x-request: ./../_components/requests/common-payment-requests.yaml#/api-dutch-credit-card-payment-with-address + value: + resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-4: + summary: Protected Paypal payment + x-request: ./../_components/requests/common-payment-requests.yaml#/api-protected-paypal-payment + value: + resource: payment + id: tr_RyNpP6zd9t + mode: test + createdAt: '2022-01-14T14:49:45+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description Order ABS123 + method: paypal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-14T17:49:45+00:00' + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + details: + shippingAddress: + streetAndNumber: Keizersgracht 126 + postalCode: 5678AB + city: Haarlem + region: Noord-Holland + country: NL + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=paypal&token=3.ruux9k + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RyNpP6zd9t + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-5: + summary: iDeal payment with QR-code + x-request: ./../_components/requests/common-payment-requests.yaml#/api-ideal-payment-with-qr-code + value: + resource: payment + id: tr_hSW7aK9NJA + mode: test + createdAt: '2022-01-14T14:57:33+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-14T15:12:33+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + details: + qrCode: + src: https://example.com/ideal-qr/qr/get/e9b52d78-9af9-4b4c-b7f7-f63499525d22 + width: 180 + height: 180 + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-issuer/ideal/hSW7aK9NJA + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_hSW7aK9NJA + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-6: + summary: First payment linked to customer (creates mandate) + x-request: ./../_components/requests/common-payment-requests.yaml#/api-first-payment-linked-to-customer-creates-mandate + value: + resource: payment + id: tr_NQCRf7VtKP + mode: test + createdAt: '2022-01-14T14:37:01+00:00' + amount: + value: '0.00' + currency: EUR + description: Direct debit charge as recuring payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: open + isCancelable: false + expiresAt: '2022-01-14T14:54:01+00:00' + locale: en_US + profileId: pfl_85dxyKqNHa + customerId: cst_tKt44u85MM + mandateId: mdt_KmQnsDNkq2 + sequenceType: first + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.ivicl6 + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_NQCRf7VtKP + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/mandates/mdt_KmQnsDNkq2 + type: application/hal+json + documentation: + href: ... + type: text/html + create-payment-201-7: + summary: Recurring payment linked to customer + x-request: ./../_components/requests/common-payment-requests.yaml#/api-recurring-payment-linked-to-customer + value: + resource: payment + id: tr_DjH8FpPNj7 + mode: test + createdAt: '2022-01-04T12:44:39+00:00' + amount: + value: '20.00' + currency: EUR + description: Direct debit charge as recuring payment + method: directdebit + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: pending + isCancelable: true + locale: en_US + profileId: pfl_85dxyKqNHa + customerId: cst_tKt44u85MM + mandateId: mdt_uDPFVsxjR4 + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/webhook + settlementAmount: + value: '20.00' + currency: EUR + details: + transferReference: SD49-7608-3386-2993 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: Jane Doe + consumerAccount: NL55INGB0000000000 + consumerBic: INGBNL2A + dueDate: '2022-01-05' + signatureDate: '2022-01-04' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_DjH8FpPNj7 + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=directdebit&token=3.88ss2m + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/mandates/mdt_uDPFVsxjR4 + type: application/hal+json + documentation: + href: ... + type: text/html + create-payment-201-8: + summary: Card authorization with manual capture mode + x-request: ./../_components/requests/common-payment-requests.yaml#/api-card-authorization-with-manual-capture-mode + value: + resource: payment + id: tr_HnJygmFKY2 + mode: test + createdAt: '2023-06-05T12:56:30+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2023-06-05T13:11:30+00:00' + amountCaptured: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + captureMode: manual + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/credit-card/embedded/HnJygmFKY2 + type: text/html + dashboard: + href: https://my.mollie.com/dashboard/org_7049691/payments/tr_HnJygmFKY2 + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-9: + summary: Card authorization with delayed automatic capture + x-request: ./../_components/requests/common-payment-requests.yaml#/api-card-authorization-with-delayed-automatic-capture + value: + resource: payment + id: tr_EZLbsLBhYb + mode: test + createdAt: '2023-06-05T12:59:45+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2023-06-05T13:14:45+00:00' + amountCaptured: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + captureMode: automatic + captureDelay: 2 days + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/credit-card/embedded/EZLbsLBhYb + type: text/html + dashboard: + href: https://my.mollie.com/dashboard/org_7049691/payments/tr_EZLbsLBhYb + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-10: + summary: Create payment on submerchants profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-create-payment-on-submerchants-profile + value: + resource: payment + id: tr_95my2qPt3H + mode: test + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-11: + summary: Submerchant payment with application fee + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-submerchant-payment-with-application-fee + value: + resource: payment + id: tr_jDqwhKQVgW + mode: test + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-12: + summary: Single-split payment (routing) + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-single-split-payment-routing + value: + resource: payment + id: tr_wuGFwxKB7g + mode: test + createdAt: '2022-01-21T11:16:15+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-21T11:31:15+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + routing: + - resource: route + id: rt_p70g7o9kj239d49rj4 + mode: test + amount: + value: '7.50' + currency: EUR + destination: + type: organization + organizationId: org_7049691 + createdAt: '2022-01-21T11:16:15+00:00' + _links: + self: + href: ... + type: application/hal+json + payment: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-issuer/ideal/wuGFwxKB7g + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_wuGFwxKB7g + type: text/html + routes: + href: https://api.mollie.com/v2/payments/tr_wuGFwxKB7g/routes?testmode=true + type: application/hal+json + documentation: + href: ... + type: text/html + '422': + description: |- + The request contains issues. For example, if a payment description is + missing, or if the specified amount is higher than the maximum allowed amount. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'description' field is missing + field: description + _links: + documentation: + href: ... + type: text/html + '503': + description: |- + The payment method supplier is currently unavailable. For example, if + you are setting up an iDEAL payment but the iDEAL network is having issues, we may return this error response. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 503 + title: Service Unavailable + detail: Payment platform for this payment method temporarily not available + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payments \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=10.00" \ + -d "description=Order #12345" \ + -d "redirectUrl=https://webshop.example.org/order/12345/" \ + -d "webhookUrl=https://webshop.example.org/payments/webhook/" \ + -d "metadata={\"order_id\": \"12345\"}" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payment = $mollie->send( + new CreatePaymentRequest( + description: "Order #12345", + amount: new Money(currency: "EUR", value: "10.00"), + redirectUrl: "https://webshop.example.org/order/12345/", + webhookUrl: "https://webshop.example.org/payments/webhook/", + metadata: [ + "order_id" => "12345", + ] + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = await mollieClient.payments.create({ + amount: { + currency: 'EUR', + value: '10.00' + }, + description: 'Order #12345', + redirectUrl: 'https://webshop.example.org/order/12345/', + webhookUrl: 'https://webshop.example.org/payments/webhook/', + metadata: { + order_id: '12345' + } + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.create({ + "amount": { + "currency": "EUR", + "value": "10.00", + }, + "description": "Order #12345", + "redirectUrl": "https://webshop.example.org/order/12345/", + "webhookUrl": "https://webshop.example.org/payments/webhook/", + "metadata": { + "order_id": "12345", + } + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payment = Mollie::Payment.create( + amount: { + currency: 'EUR', + value: '10.00' + }, + description: 'Order #12345', + redirect_url: 'https://webshop.example.org/order/12345/', + webhook_url: 'https://webshop.example.org/payments/webhook/', + metadata: { + order_id: '12345' + } + ) + x-speakeasy-group: payments + get: + summary: List payments + x-speakeasy-name-override: list + tags: + - Payments API + operationId: list-payments + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve all payments created with the current website profile. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate + the result set. + schema: + $ref: '#/components/schemas/paymentToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payments: + description: An array of payment objects. + type: array + items: + $ref: '#/components/schemas/payment-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-payments-200-1: + summary: A list of payment objects + value: + count: 1 + _embedded: + payments: + - resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + status: open + isCancelable: false + sequenceType: oneoff + amount: + value: '75.00' + currency: GBP + description: 'Order #12345' + method: ideal + metadata: null + details: null + profileId: pfl_QkEhN94Ba + redirectUrl: https://webshop.example.org/order/12345/ + createdAt: '2024-02-12T11:58:35.0Z' + expiresAt: '2024-02-12T12:13:35.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/issuer/select/ideal/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?from=tr_SDkzMggpvx&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-payments-200-2: + summary: Get 3 latest payments + x-request: ./../_components/requests/common-payment-requests.yaml#/api-get-3-latest-payments + value: + _embedded: + payments: + - resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + - resource: payment + id: tr_TNFzqz7jzb + mode: test + createdAt: '2021-12-29T13:38:26+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:55:26+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.nnw5dc + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_TNFzqz7jzb + type: text/html + - resource: payment + id: tr_h7uqbSUNbG + mode: test + createdAt: '2021-12-29T13:07:29+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-29T13:24:02+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_h7uqbSUNbG + type: text/html + - resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Updated payment description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-29T13:25:03+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + - resource: payment + id: tr_dFWesfS4F7 + mode: test + createdAt: '2021-12-23T08:25:22+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-23T08:42:02+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_dFWesfS4F7 + type: text/html + - resource: payment + id: tr_8N2vfqD9Q9 + mode: test + createdAt: '2021-12-22T08:48:38+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-22T09:06:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8N2vfqD9Q9 + type: text/html + - resource: payment + id: tr_nBs82Ujy7g + mode: test + createdAt: '2021-12-10T12:37:35+00:00' + amount: + value: '10.00' + currency: EUR + description: 'Payment for invoice number #000121' + method: ideal + metadata: + order_id: '4590962' + status: paid + paidAt: '2021-12-10T12:39:18+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://webshop.example.org/payment-links/redirectUrl + webhookUrl: https://webshop.example.org/payment-links/webhook + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL68RABO0638606673 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_nBs82Ujy7g + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.st50hq + type: text/html + - resource: payment + id: tr_6qh37hS3FF + mode: test + createdAt: '2021-12-08T16:02:20+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: paid + paidAt: '2021-12-08T16:04:10+00:00' + amountRefunded: + value: '10.00' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL55RABO0282361409 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_6qh37hS3FF + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.ee5j0m + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_6qh37hS3FF/refunds + type: application/hal+json + count: 8 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-payments-200-3: + summary: List payments for specific profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-list-payments-for-specific-profile + value: + _embedded: + payments: + - resource: payment + id: tr_jDqwhKQVgW + mode: live + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + - resource: payment + id: tr_95my2qPt3H + mode: live + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + - resource: payment + id: tr_ntnfCGP6mv + mode: live + createdAt: '2022-01-19T07:42:59+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-19T07:59:02+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ntnfCGP6mv + type: text/html + - resource: payment + id: tr_EdTCRdcfCs + mode: live + createdAt: '2022-01-18T15:16:07+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #136' + method: creditcard + metadata: + order_id: '136' + customer_id: null + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: Centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: failed + failedAt: '2022-01-18T15:16:30+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/pay/external/store/1001879680/order/136/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + details: + cardToken: tkn_t67GnF6USB + cardFingerprint: 3uzqSxyue3dDWJMHdPkBvfy6 + cardNumber: '9996' + cardHolder: Mollie + cardAudience: consumer + cardLabel: Visa + cardCountryCode: MU + cardSecurity: 3dsecure + failureReason: authentication_failed + failureMessage: 3-D Secure authenticatie is gefaald. + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_EdTCRdcfCs + type: text/html + - resource: payment + id: tr_8KwCUNMVJe + mode: live + createdAt: '2022-01-18T14:04:24+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #135' + method: creditcard + metadata: + order_id: '135' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:04:25+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_8KwCUNMVJe + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_8KwCUNMVJe/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_QcQPGvh9Du + mode: live + createdAt: '2022-01-18T14:03:08+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #134' + method: creditcard + metadata: + order_id: '134' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:03:10+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QcQPGvh9Du + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_QcQPGvh9Du/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_wk6m2eaWcB + mode: live + createdAt: '2022-01-18T14:00:44+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #133' + method: creditcard + metadata: + order_id: '133' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:01:27+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: first + redirectUrl: https://example.com/pay/external/store/1001879680/order/133/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_xtbTh68DMH + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_wk6m2eaWcB + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_wk6m2eaWcB/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_4nvqTDgb2V + mode: live + createdAt: '2022-01-17T16:06:27+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000376 + method: creditcard + metadata: null + status: expired + expiredAt: '2022-01-17T16:23:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + orderId: ord_5B8cwPMGnU6qLbRvo7qEZo + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=394&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4nvqTDgb2V + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + - resource: payment + id: tr_WSmqbH9dmk + mode: live + createdAt: '2022-01-17T16:01:41+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000375 + method: creditcard + metadata: null + status: paid + paidAt: '2022-01-17T16:02:19+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + mandateId: mdt_Ff284cNKht + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ1 + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=393&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_bnmP3THUuD + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_WSmqbH9dmk + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV/mandates/mdt_Ff284cNKht + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ1 + type: application/hal+json + - resource: payment + id: tr_QgUjvHbA8Q + mode: live + createdAt: '2022-01-14T11:27:53+00:00' + amount: + value: '1007.00' + currency: EUR + description: Order a036907f-6221-4611-a7ab-2725e1e80c2b + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-14T11:44:05+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ2 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=a036907f-6221-4611-a7ab-2725e1e80c2b + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QgUjvHbA8Q + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ2 + type: application/hal+json + - resource: payment + id: tr_ErjmfS5B86 + mode: live + createdAt: '2021-12-16T18:56:21+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000367' + method: ideal + metadata: + order_id: '385' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:13:00+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=385&payment_token=123utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ErjmfS5B86 + type: text/html + - resource: payment + id: tr_zegQDmfHp5 + mode: live + createdAt: '2021-12-16T18:54:22+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000366' + method: ideal + metadata: + order_id: '384' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:10:43+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=384&payment_token=123&utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zegQDmfHp5 + type: text/html + - resource: payment + id: tr_4jbEGjvw3C + mode: live + createdAt: '2021-12-15T16:07:37+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 462a4c86-bcf0-4e47-84c3-fd24fb6d907d + method: banktransfer + metadata: null + status: paid + paidAt: '2021-12-15T16:41:10+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ3 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=462a4c86-bcf0-4e47-84c3-fd24fb6d907d + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + settlementAmount: + value: '0.01' + currency: EUR + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF74-4500-4966-8489 + billingEmail: test@mollie.com + consumerName: AJ WALSH + consumerAccount: NL71ABNA0825509440 + consumerBic: ABNANL2AXXX + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4jbEGjvw3C + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ3 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.lkmvuw + type: text/html + - resource: payment + id: tr_zTnKhNvPUT + mode: live + createdAt: '2021-12-14T15:48:48+00:00' + amount: + value: '85.00' + currency: EUR + description: Order c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T15:50:08+00:00' + locale: en_US + countryCode: RS + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ4 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF18-6008-0499-7965 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zTnKhNvPUT + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ4 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.8bkxfw + type: text/html + - resource: payment + id: tr_ksNqVyqbab + mode: live + createdAt: '2021-12-14T15:24:16+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000365 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:42:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ5 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=383&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ksNqVyqbab + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ5 + type: application/hal+json + - resource: payment + id: tr_csHVQWJm3W + mode: live + createdAt: '2021-12-14T15:13:20+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000364 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:30:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ6 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=382&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_csHVQWJm3W + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ6 + type: application/hal+json + - resource: payment + id: tr_9C6FGvRBFN + mode: live + createdAt: '2021-12-14T15:11:40+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000363 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-14T15:11:52+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ7 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=381&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_J9bAGBpw9S + cardFingerprint: 2xWzgJFwNnC3kNE4WNTvrkfD + cardNumber: '4335' + cardHolder: Amanda Walsh + cardAudience: consumer + cardLabel: Visa + cardCountryCode: US + cardSecurity: 3dsecure + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9C6FGvRBFN + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ7 + type: application/hal+json + - resource: payment + id: tr_UxxzHS8sAW + mode: live + createdAt: '2021-12-14T14:41:55+00:00' + amount: + value: '7.50' + currency: EUR + description: Order 53c0b522-d15b-4209-96b7-25cf98bb4631 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T14:45:03+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ8 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=53c0b522-d15b-4209-96b7-25cf98bb4631 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF06-7000-7948-6191 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UxxzHS8sAW + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ8 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.ub14cw + type: text/html + - resource: payment + id: tr_HEsCwNjSwj + mode: live + createdAt: '2021-12-14T10:38:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:55:05+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + mandateId: mdt_d9HvU2evHH + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HEsCwNjSwj + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M/mandates/mdt_d9HvU2evHH + type: application/hal+json + - resource: payment + id: tr_7PR5ujgAf5 + mode: live + createdAt: '2021-12-14T10:37:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:54:02+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_7PR5ujgAf5 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + - resource: payment + id: tr_gHCKaEgz7A + mode: live + createdAt: '2021-12-13T13:08:59+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000362 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:25:03+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ9 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=380&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gHCKaEgz7A + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ9 + type: application/hal+json + - resource: payment + id: tr_UMtHEnx6rW + mode: live + createdAt: '2021-12-13T13:06:46+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000361 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T13:07:27+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZa + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=379&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_M7nNTAr6AC + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UMtHEnx6rW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZa + type: application/hal+json + - resource: payment + id: tr_KNdnVCzdfv + mode: live + createdAt: '2021-12-13T12:59:14+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000360 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:16:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZb + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=378&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KNdnVCzdfv + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZb + type: application/hal+json + - resource: payment + id: tr_pWMGnvESfx + mode: live + createdAt: '2021-12-13T12:56:11+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000359 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T12:57:33+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZc + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=377&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_NqHkEPJQcc + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pWMGnvESfx + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZc + type: application/hal+json + - resource: payment + id: tr_DdMxvERTUe + mode: live + createdAt: '2021-12-13T12:54:15+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000358 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:11:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZd + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=376&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DdMxvERTUe + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZd + type: application/hal+json + - resource: payment + id: tr_2yGeVFFBdW + mode: live + createdAt: '2021-12-09T12:18:20+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000357 + method: creditcard + metadata: null + status: canceled + canceledAt: '2021-12-09T12:19:26+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZe + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=375&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_2yGeVFFBdW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZe + type: application/hal+json + - resource: payment + id: tr_xb55QTpsVT + mode: live + createdAt: '2021-12-09T12:17:33+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000356 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:35:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZf + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=374&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_xb55QTpsVT + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZf + type: application/hal+json + - resource: payment + id: tr_5ygWQpgwBE + mode: live + createdAt: '2021-12-09T12:14:11+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000355 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:31:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZg + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=373&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_5ygWQpgwBE + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZg + type: application/hal+json + - resource: payment + id: tr_e8PGEKcS2h + mode: live + createdAt: '2021-12-09T12:11:19+00:00' + amount: + value: '22.00' + currency: EUR + description: Order 000000354 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:28:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZh + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=372&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_e8PGEKcS2h + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZh + type: application/hal+json + - resource: payment + id: tr_pubnh4PCd4 + mode: live + createdAt: '2021-12-09T12:03:42+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000353 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-09T12:04:22+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZi + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=371&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_VEGsUNt3uq + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pubnh4PCd4 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZi + type: application/hal+json + - resource: payment + id: tr_DPb2GgeB2B + mode: live + createdAt: '2021-12-08T08:38:08+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: directdebit + metadata: null + status: expired + expiredAt: '2021-12-08T08:54:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + details: + transferReference: SD03-5014-9920-7495 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: null + consumerAccount: null + consumerBic: null + dueDate: '2022-01-20' + bankReasonCode: null + bankReason: null + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DPb2GgeB2B + type: text/html + - resource: payment + id: tr_ydTSdxn8An + mode: live + createdAt: '2021-12-06T13:58:00+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:14:20+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/55 + webhookUrl: https://example.com/payments/55/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ydTSdxn8An + type: text/html + - resource: payment + id: tr_JK35Azc9cb + mode: live + createdAt: '2021-12-06T13:57:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:57:29+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/54 + webhookUrl: https://example.com/payments/54/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_JK35Azc9cb + type: text/html + - resource: payment + id: tr_sQSvH3pMPR + mode: live + createdAt: '2021-12-06T13:49:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:06:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/53 + webhookUrl: https://example.com/payments/53/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_sQSvH3pMPR + type: text/html + - resource: payment + id: tr_PFEKtRWTqN + mode: live + createdAt: '2021-12-06T13:40:30+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:57:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/52 + webhookUrl: https://example.com/payments/52/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_PFEKtRWTqN + type: text/html + - resource: payment + id: tr_tkf3hujUn5 + mode: live + createdAt: '2021-12-06T13:39:49+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:56:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/51 + webhookUrl: https://example.com/payments/51/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_tkf3hujUn5 + type: text/html + - resource: payment + id: tr_Kba2FsryW3 + mode: live + createdAt: '2021-12-06T13:25:52+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:42:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/50 + webhookUrl: https://example.com/payments/50/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_Kba2FsryW3 + type: text/html + - resource: payment + id: tr_RxA7KvSrtJ + mode: live + createdAt: '2021-12-06T13:19:46+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:19:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/49 + webhookUrl: https://example.com/payments/49/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RxA7KvSrtJ + type: text/html + - resource: payment + id: tr_MwSQRteNjB + mode: live + createdAt: '2021-12-06T13:02:31+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:02:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/48 + webhookUrl: https://example.com/payments/48/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_MwSQRteNjB + type: text/html + - resource: payment + id: tr_m257hQC5tk + mode: live + createdAt: '2021-12-06T12:55:53+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:56:35+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/47 + webhookUrl: https://example.com/payments/47/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_m257hQC5tk + type: text/html + - resource: payment + id: tr_eEPrW72gH3 + mode: live + createdAt: '2021-12-06T12:19:15+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:19:46+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/46 + webhookUrl: https://example.com/payments/46/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_eEPrW72gH3 + type: text/html + - resource: payment + id: tr_NwQjTuvhMW + mode: live + createdAt: '2021-12-06T12:17:04+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:33:09+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/45 + webhookUrl: https://example.com/payments/45/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_NwQjTuvhMW + type: text/html + - resource: payment + id: tr_HRMmGPqnmS + mode: live + createdAt: '2021-12-06T12:16:45+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:49+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/44 + webhookUrl: https://example.com/payments/44/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HRMmGPqnmS + type: text/html + - resource: payment + id: tr_B7B2cenDkC + mode: live + createdAt: '2021-12-06T12:16:44+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:53+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/43 + webhookUrl: https://example.com/payments/43/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_B7B2cenDkC + type: text/html + - resource: payment + id: tr_z5PREjDv5C + mode: live + createdAt: '2021-12-06T12:16:29+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: canceled + canceledAt: '2021-12-06T12:16:36+00:00' + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/42 + webhookUrl: https://example.com/payments/42/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_z5PREjDv5C + type: text/html + - resource: payment + id: tr_56nDe2G7NM + mode: live + createdAt: '2021-12-06T12:14:39+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:30:54+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/41 + webhookUrl: https://example.com/payments/41/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_56nDe2G7NM + type: text/html + - resource: payment + id: tr_9MyFrrbAS8 + mode: live + createdAt: '2021-12-06T12:13:54+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:14:20+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/40 + webhookUrl: https://example.com/payments/40/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9MyFrrbAS8 + type: text/html + - resource: payment + id: tr_KPgBxSyWfU + mode: live + createdAt: '2021-12-06T12:13:08+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:22+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/39 + webhookUrl: https://example.com/payments/39/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KPgBxSyWfU + type: text/html + - resource: payment + id: tr_9rwyrM6jcw + mode: live + createdAt: '2021-12-06T12:13:07+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:44+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/38 + webhookUrl: https://example.com/payments/38/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9rwyrM6jcw + type: text/html + - resource: payment + id: tr_gdE6pzp9Qs + mode: live + createdAt: '2021-12-06T12:12:37+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:28:55+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/37 + webhookUrl: https://example.com/payments/37/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gdE6pzp9Qs + type: text/html + count: 50 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?profileId=pfl_zcfJRjkf6P&from=tr_KBwM9rn7sm&limit=50 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payments = $mollie->send(new GetPaginatedPaymentsRequest()); + + // get the next page + $next_payments = $payments->next(); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payments = mollieClient.payments.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payments = mollie_client.payments.list() + + # Get the next page + next_payments = payments.get_next() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payments = Mollie::Payment.all + + # get the next page + next_payments = payments.next + x-speakeasy-group: payments + /payments/{paymentId}: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + get: + summary: Get payment + x-speakeasy-name-override: get + tags: + - Payments API + operationId: get-payment + security: + - apiKey: [] + - oAuth: + - payments.read + description: Retrieve a single payment object by its payment ID. + parameters: + - $ref: '#/components/parameters/include' + description: This endpoint allows you to include additional information via the `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - details.qrCode + - details.remainderDetails + x-enumDescriptions: + details.qrCode: Include a QR code object. Only available for iDEAL, Bancontact and bank transfer payments. + details.remainderDetails: |- + For payments where gift cards or vouchers were applied and the remaining amount + was paid with another payment method, this include will add another `details` object specifically for the + remainder payment. + example: details.qrCode + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the + following values via the `embed` query string parameter. + schema: + type: + - string + - 'null' + enum: + - captures + - refunds + - chargebacks + x-enumDescriptions: + captures: Embed all captures created for this payment. + refunds: Embed all refunds created for this payment. + chargebacks: Embed all chargebacks created for this payment. + example: captures + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-response' + examples: + get-payment-200-1: + $ref: '#/components/examples/get-payment' + get-payment-200-2: + summary: Get QR-code image URL for iDeal payment + x-request: ./../_components/requests/common-payment-../_components/requests/common-payment-requests.yaml#/api-get-qr-code-image-url-for-ideal-payment + value: + resource: payment + id: tr_hSW7aK9NJA + mode: test + createdAt: '2022-01-14T14:57:33+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-14T15:12:33+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + details: + qrCode: + src: https://example.com/ideal-qr/qr/get/e9b52d78-9af9-4b4c-b7f7-f63499525d22 + width: 180 + height: 180 + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-issuer/ideal/hSW7aK9NJA + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_hSW7aK9NJA + type: text/html + documentation: + href: ... + type: text/html + get-payment-200-3: + summary: Get partially captured card payment + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-get-partially-captured-card-payment + value: + resource: payment + id: tr_oWpmDXm6sT + mode: test + createdAt: '2023-06-05T13:06:22+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: paid + paidAt: '2023-06-05T13:07:12+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '8.00' + currency: EUR + amountCaptured: + value: '8.00' + currency: EUR + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + captureMode: manual + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + details: + cardToken: tkn_KPz5vAtest + cardNumber: '4444' + cardHolder: T. TEST + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://my.mollie.com/dashboard/org_7049691/payments/tr_oWpmDXm6sT + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=5.tvtgvi + type: text/html + captures: + href: https://api.mollie.com/v2/payments/tr_oWpmDXm6sT/captures + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payment = $mollie->send( + new GetPaymentRequest(id: "tr_5B8cwPMGnU6qLbRvo7qEZo") + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = await mollieClient.payments.get('tr_5B8cwPMGnU6qLbRvo7qEZo'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get( + "tr_5B8cwPMGnU6qLbRvo7qEZo", + embed="refunds,chargebacks", + include="details.qrCode" + ) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payment = Mollie::Payment.get('tr_5B8cwPMGnU6qLbRvo7qEZo') + x-speakeasy-group: payments + patch: + summary: Update payment + x-speakeasy-name-override: update + tags: + - Payments API + operationId: update-payment + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Certain details of an existing payment can be updated. + + Updating the payment details will not result in a webhook call. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + $ref: '#/components/schemas/description' + redirectUrl: + $ref: '#/components/schemas/redirectUrl' + cancelUrl: + $ref: '#/components/schemas/cancelUrl' + webhookUrl: + $ref: '#/components/schemas/webhookUrl' + metadata: + $ref: '#/components/schemas/metadata' + method: + $ref: '#/components/schemas/method' + locale: + $ref: '#/components/schemas/locale' + dueDate: + $ref: '#/components/schemas/dueDate' + restrictPaymentMethodsToCountry: + $ref: '#/components/schemas/restrictPaymentMethodsToCountry' + testmode: + $ref: '#/components/schemas/testmode-create' + issuer: + $ref: '#/components/schemas/issuer' + billingAddress: + $ref: '#/components/schemas/billingAddress' + shippingAddress: + $ref: '#/components/schemas/payment-address' + billingEmail: + type: string + example: test@example.com + responses: + '200': + description: The updated payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-response' + examples: + update-payment-200-1: + summary: The updated payment object + value: + resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + amount: + value: '10.00' + currency: EUR + description: 'Order #98765' + sequenceType: oneoff + redirectUrl: https://webshop.example.org/order/98765/ + webhookUrl: https://example.org/webshop/payments/webhook/ + metadata: + order_id: 98765 + profileId: pfl_QkEhN94Ba + status: open + isCancelable: false + createdAt: '2024-03-20T09:13:37.0Z' + expiresAt: '2024-03-20T09:28:37.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + documentation: + href: ... + type: text/html + update-payment-200-2: + summary: Update method and issuer + x-request: ./../_components/requests/common-payment-requests.yaml#/api-update-method-and-issuer + value: + resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: open + isCancelable: false + expiresAt: '2021-12-29T13:24:06+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.y5vg7k + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + documentation: + href: ... + type: text/html + update-payment-200-3: + summary: Update description + x-request: ./../_components/requests/common-payment-requests.yaml#/api-update-description + value: + resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Updated payment description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: open + isCancelable: false + expiresAt: '2021-12-29T13:24:06+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.y5vg7k + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: |- + The request contains issues. For example, if you are trying to update a + property that can no longer be updated. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The redirect URL cannot be updated when the payment is finalized + field: redirectUrl + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "description=Order #98765" \ + -d "redirectUrl=https://example.org/webshop/order/98765/" \ + -d "webhookUrl=https://example.org/webshop/payments/webhook/" \ + -d "metadata={\"order_id\": \"98765\"}" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payment = $mollie->send( + new UpdatePaymentRequest( + id: "tr_5B8cwPMGnU6qLbRvo7qEZo", + description: "Order #98765", + redirectUrl: "https://example.org/webshop/order/98765/", + webhookUrl: "https://example.org/webshop/payments/webhook/", + metadata: ["order_id" => "98765"] + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = mollieClient.payments.update('tr_5B8cwPMGnU6qLbRvo7qEZo', { + description: 'Order #98765', + redirect_url: 'https://webshop.example.org/webshop/order/98765/', + webhook_url: 'https://webshop.example.org/payments/webhook/', + metadata: { + order_id: '98765' + } + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.update( + "tr_5B8cwPMGnU6qLbRvo7qEZo", + { + "description": "Order #98765", + "redirectUrl": "https://webshop.example.org/order/98765/", + "webhookUrl": "https://webshop.example.org/payments/webhook/", + "metadata": { + "order_id": "98765", + } + } + ) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payment = Mollie::Payment.update( + 'tr_5B8cwPMGnU6qLbRvo7qEZo', + description: 'Order #98765', + redirect_url: 'https://example.org/webshop/order/98765/', + webhook_url: 'https://example.org/webshop/payments/webhook/', + metadata: { + order_id: '98765' + } + ) + x-speakeasy-group: payments + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Cancel payment + x-speakeasy-name-override: cancel + tags: + - Payments API + operationId: cancel-payment + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Depending on the payment method, you may be able to cancel a payment for a certain amount of time — usually until + the next business day or as long as the payment status is open. + + Payments may also be canceled manually from the Mollie Dashboard. + + The `isCancelable` property on the [Payment object](get-payment) will indicate if the payment can be canceled. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode-create' + responses: + '200': + description: The canceled payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-response' + examples: + cancel-payment-200-1: + $ref: '#/components/examples/cancel-payment' + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: |- + The request contains issues. For example, if you are trying to cancel a + payment that can no longer be canceled. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The payment cannot be cancelled + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/payments/tr_WDqYK6vllg \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $canceledPayment = $mollie->send( + new CancelPaymentRequest(id: "tr_WDqYK6vllg") + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const canceledPayment = await mollieClient.payments.cancel('tr_Eq8xzWUPA4'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + canceled_payment = mollie_client.payments.delete("tr_WDqYK6vllg") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + canceled_payment = Mollie::Payment.cancel('tr_WDqYK6vllg') + x-speakeasy-group: payments + parameters: + - $ref: '#/components/parameters/idempotency-key' + /payments/{paymentId}/release-authorization: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + post: + summary: Release payment authorization + x-speakeasy-name-override: release-authorization + tags: + - Payments API + operationId: release-authorization + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Releases the full remaining authorized amount. Call this endpoint when you will not be making any additional + captures. Payment authorizations may also be released manually from the Mollie Dashboard. + + Mollie will do its best to process release requests, but it is not guaranteed that it will succeed. It is up to + the issuing bank if and when the hold will be released. + + If the request does succeed, the payment status will change to `canceled` for payments without captures. + If there is a successful capture, the payment will transition to `paid`. + requestBody: + content: + application/json: + schema: + type: object + properties: + profileId: + $ref: '#/components/schemas/profileToken' + testmode: + $ref: '#/components/schemas/testmode-create' + responses: + '202': + description: The request was accepted and will be processed asynchronously. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: |- + The request contains issues. For example, if you are trying to release a + payment that that is not in an authorized state. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: |- + Authorization cannot be released because the payment is not in the authorized + state. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payments/tr_WDqYK6vllg/release-authorization \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send( + new ReleasePaymentAuthorizationRequest(paymentId: "tr_WDqYK6vllg") + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: payments + parameters: + - $ref: '#/components/parameters/idempotency-key' + /methods: + get: + summary: List payment methods + x-speakeasy-name-override: list + tags: + - Methods API + operationId: list-methods + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve all enabled payment methods. The results of this endpoint are + **not** paginated — unlike most other list endpoints in our API. + + For test mode, all pending and enabled payment methods are returned. If no + payment methods are requested yet, the most popular payment methods are returned in the test mode. For live + mode, only fully enabled payment methods are returned. + + Payment methods can be requested and enabled via the Mollie Dashboard, or + via the [Enable payment method endpoint](enable-method) of the Profiles API. + + The list can optionally be filtered using a number of parameters described + below. + + By default, only payment methods for the Euro currency are returned. If you + wish to retrieve payment methods which exclusively support other currencies (e.g. Twint), you need to use the + `amount` parameters. + parameters: + - name: sequenceType + description: |- + Set this parameter to `first` to only return the enabled methods that + can be used for the first payment of a recurring sequence. + + Set it to `recurring` to only return enabled methods that can be used for recurring payments or subscriptions. + in: query + schema: + $ref: '#/components/schemas/sequence-type' + - $ref: '#/components/parameters/locale' + description: |- + Passing a locale will sort the payment methods in the preferred order + for the country, and translate the payment method names in the corresponding language. + - name: amount + description: |- + If supplied, only payment methods that support the amount and currency + are returned. + + Example: `/v2/methods?amount[value]=100.00&amount[currency]=USD` + in: query + style: deepObject + explode: true + schema: + $ref: '#/components/schemas/amount' + - name: resource + deprecated: true + description: |- + **⚠️ We no longer recommend using the Orders API. Please refer to the [Payments API](payments-api) instead.** + + Indicate if you will use the result for the [Create order](create-order) + or the [Create payment](create-payment) endpoint. + + When passing the value `orders`, the result will include payment methods + that are only available for payments created via the Orders API. + in: query + schema: + type: string + enum: + - payments + - orders + example: payments + - name: billingCountry + description: |- + The country taken from your customer's billing address in ISO 3166-1 alpha-2 format. This parameter can be used + to check whether your customer is eligible for certain payment methods, for example for Klarna. + + Example: `/v2/methods?resource=orders&billingCountry=DE` + in: query + schema: + type: string + example: DE + - name: includeWallets + description: |- + A comma-separated list of the wallets you support in your checkout. Wallets often require wallet specific code + to check if they are available on the shoppers device, hence the need to indicate your support. + in: query + schema: + type: string + enum: + - applepay + example: applepay + - name: orderLineCategories + description: |- + A comma-separated list of the line categories you support in your checkout. + + Example: `/v2/methods?orderLineCategories=eco,meal` + in: query + schema: + $ref: '#/components/schemas/line-categories' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/include' + description: |- + This endpoint allows you to include additional information via the + `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - issuers + x-enumDescriptions: + issuers: Include issuer details such as which iDEAL or gift card issuers are available. + example: issuers + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of payment method objects. For a complete reference of the + payment method object, refer to the [Get payment method endpoint](get-method) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + type: integer + description: |- + The number of payment method objects in this result set. + Results are **not** paginated. + example: 5 + _embedded: + type: object + required: + - methods + properties: + methods: + description: |- + An array of payment method objects. For a complete + reference of the payment method object, refer + to the [Get payment method endpoint](get-method) + documentation. + type: array + items: + $ref: '#/components/schemas/entity-method' + _links: + type: object + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + examples: + list-methods-200-1: + summary: A list of payment method objects + value: + count: 2 + _embedded: + methods: + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://mollie.com/external/icons/payment-methods/ideal.png + size2x: https://mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://mollie.com/external/icons/payment-methods/creditcard.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + list-methods-200-2: + summary: List enabled methods for 10 EUR payment in NL + x-request: ./requests.yaml#/api-list-enabled-methods-for-10-eur-payment-in-nl + value: + _embedded: + methods: + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/ideal.png + size2x: https://www.mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: banktransfer + description: Bank transfer + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/banktransfer.png + size2x: https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/banktransfer.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + count: 3 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + list-method-200-3: + summary: List payment methods supported for Orders + x-request: ./requests.yaml#/api-list-payment-methods-supported-for-orders + value: + _embedded: + methods: + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/ideal.png + size2x: https://www.mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '500.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaylater + description: Pay later. + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaynow + description: Pay now. + minimumAmount: + value: '0.10' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnasliceit + description: Slice it. + minimumAmount: + value: '35.00' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnasliceit.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnasliceit%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnasliceit.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: paypal + description: PayPal + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/paypal.png + size2x: https://www.mollie.com/external/icons/payment-methods/paypal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/paypal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: banktransfer + description: Bank transfer + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/banktransfer.png + size2x: https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/banktransfer.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: bancontact + description: Bancontact + minimumAmount: + value: '0.02' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/bancontact.png + size2x: https://www.mollie.com/external/icons/payment-methods/bancontact%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/bancontact.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: eps + description: eps + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/eps.png + size2x: https://www.mollie.com/external/icons/payment-methods/eps%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/eps.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: przelewy24 + description: Przelewy24 + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '12815.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/przelewy24.png + size2x: https://www.mollie.com/external/icons/payment-methods/przelewy24%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/przelewy24.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: kbc + description: KBC/CBC Payment Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/kbc.png + size2x: https://www.mollie.com/external/icons/payment-methods/kbc%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/kbc.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: belfius + description: Belfius Pay Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/belfius.png + size2x: https://www.mollie.com/external/icons/payment-methods/belfius%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/belfius.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: voucher + description: Vouchers + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '100000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/voucher.png + size2x: https://www.mollie.com/external/icons/payment-methods/voucher%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/voucher.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: directdebit + description: SEPA Direct Debit + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/directdebit.png + size2x: https://www.mollie.com/external/icons/payment-methods/directdebit%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/directdebit.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + count: 14 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + '400': + description: |- + The request contains issues. For example, if the specified + `sequenceType` value is invalid. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 400 + title: Bad Request + detail: The sequence type is invalid + field: sequenceType + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/methods \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + // Methods for the Payments API + $methods = $mollie->send( + new GetEnabledMethodsRequest( + resource: MethodQuery::RESOURCE_PAYMENTS + ) + ); + + // Methods for the Orders API + $methods = $mollie->send( + new GetEnabledMethodsRequest( + resource: MethodQuery::RESOURCE_ORDERS + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + // Methods for the Payments API + let methods = await mollieClient.methods.list(); + + // Methods for the Orders API + methods = await mollieClient.methods.list({ resource: 'orders' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + # Methods for the Payments API + methods = mollie_client.methods.list() + + # Methods for the Orders API + methods = mollie_client.methods.list(resource="orders") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + # Methods for the Payments API + methods = Mollie::Method.all + + # Methods for the Orders API + methods = Mollie::Method.all(resource: 'orders') + x-speakeasy-group: methods + /methods/all: + get: + summary: List all payment methods + x-speakeasy-name-override: all + tags: + - Methods API + operationId: list-all-methods + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve all payment methods that Mollie offers, regardless of the eligibility of the organization for the specific + method. The results of this endpoint are **not** paginated — unlike most other list endpoints in our API. + + The list can optionally be filtered using a number of parameters described below. + parameters: + - $ref: '#/components/parameters/locale' + description: |- + Passing a locale will sort the payment methods in the preferred order + for the country, and translate the payment method names in the corresponding language. + - name: amount + description: |- + If supplied, only payment methods that support the amount and currency + are returned. + + Example: `/v2/methods/all?amount[value]=100.00&amount[currency]=USD` + in: query + style: deepObject + explode: true + schema: + $ref: '#/components/schemas/amount' + - $ref: '#/components/parameters/include' + description: |- + This endpoint allows you to include additional information via the + `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - issuers + - pricing + x-enumDescriptions: + issuers: Include issuer details such as which iDEAL or gift card issuers are available. + pricing: Include pricing for each payment method. + example: issuers + - name: sequenceType + description: |- + Set this parameter to `first` to only return the methods that + can be used for the first payment of a recurring sequence. + + Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions. + in: query + schema: + $ref: '#/components/schemas/sequence-type' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of payment method objects. For a complete reference of the + payment method object, refer to the [Get payment method endpoint](get-method) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + type: integer + description: The number of payment method objects in this result set. Results are **not** paginated. + example: 5 + _embedded: + type: object + required: + - methods + properties: + methods: + description: |- + An array of payment method objects. For a complete + reference of the payment method object, refer to the [Get payment method endpoint](get-method) + documentation. + type: array + items: + $ref: '#/components/schemas/entity-method-all' + _links: + type: object + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + examples: + list-all-methods-200-1: + summary: A list of payment method objects + value: + count: 2 + _embedded: + methods: + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://mollie.com/external/icons/payment-methods/ideal.png + size2x: https://mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://mollie.com/external/icons/payment-methods/creditcard.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + list-all-methods-200-2: + summary: List available methods for 10 EUR payment in NL + x-request: ./requests.yaml#/api-list-available-methods-for-10-eur-payment-in-nl + value: + _embedded: + methods: + - resource: method + id: applepay + description: Apple Pay + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/applepay.png + size2x: https://www.mollie.com/external/icons/payment-methods/applepay%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/applepay.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/ideal.png + size2x: https://www.mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaylater + description: Pay later. + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaynow + description: Pay now. + minimumAmount: + value: '0.10' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: paypal + description: PayPal + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/paypal.png + size2x: https://www.mollie.com/external/icons/payment-methods/paypal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/paypal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: banktransfer + description: Bank transfer + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/banktransfer.png + size2x: https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/banktransfer.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: giftcard + description: Gift cards + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/giftcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/giftcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/giftcard.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: bancontact + description: Bancontact + minimumAmount: + value: '0.02' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/bancontact.png + size2x: https://www.mollie.com/external/icons/payment-methods/bancontact%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/bancontact.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: eps + description: eps + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/eps.png + size2x: https://www.mollie.com/external/icons/payment-methods/eps%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/eps.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: przelewy24 + description: Przelewy24 + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '12815.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/przelewy24.png + size2x: https://www.mollie.com/external/icons/payment-methods/przelewy24%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/przelewy24.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: kbc + description: KBC/CBC Payment Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/kbc.png + size2x: https://www.mollie.com/external/icons/payment-methods/kbc%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/kbc.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: belfius + description: Belfius Pay Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/belfius.png + size2x: https://www.mollie.com/external/icons/payment-methods/belfius%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/belfius.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: voucher + description: Vouchers + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '100000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/voucher.png + size2x: https://www.mollie.com/external/icons/payment-methods/voucher%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/voucher.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: directdebit + description: SEPA Direct Debit + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/directdebit.png + size2x: https://www.mollie.com/external/icons/payment-methods/directdebit%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/directdebit.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + count: 15 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + list-all-methods-200-3: + summary: List available methods for 100 EUR payment in NL with issuers + x-request: ./requests.yaml#/api-list-available-methods-for-100-eur-payment-in-nl-with-issuers + value: + _embedded: + methods: + - resource: method + id: applepay + description: Apple Pay + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/applepay.png + size2x: https://www.mollie.com/external/icons/payment-methods/applepay%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/applepay.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/ideal.png + size2x: https://www.mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/ideal.svg + status: activated + issuers: + - resource: issuer + id: ideal_ABNANL2A + name: ABN AMRO + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/ABNANL2A.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/ABNANL2A%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/ABNANL2A.svg + - resource: issuer + id: ideal_INGBNL2A + name: ING + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/INGBNL2A.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/INGBNL2A%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/INGBNL2A.svg + - resource: issuer + id: ideal_RABONL2U + name: Rabobank + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/RABONL2U.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/RABONL2U%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/RABONL2U.svg + - resource: issuer + id: ideal_ASNBNL21 + name: ASN Bank + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/ASNBNL21.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/ASNBNL21%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/ASNBNL21.svg + - resource: issuer + id: ideal_BUNQNL2A + name: bunq + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/BUNQNL2A.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/BUNQNL2A%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/BUNQNL2A.svg + - resource: issuer + id: ideal_HANDNL2A + name: Handelsbanken + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/HANDNL2A.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/HANDNL2A%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/HANDNL2A.svg + - resource: issuer + id: ideal_KNABNL2H + name: Knab + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/KNABNL2H.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/KNABNL2H%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/KNABNL2H.svg + - resource: issuer + id: ideal_RBRBNL21 + name: Regiobank + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/RBRBNL21.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/RBRBNL21%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/RBRBNL21.svg + - resource: issuer + id: ideal_REVOLT21 + name: Revolut + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/REVOLT21.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/REVOLT21%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/REVOLT21.svg + - resource: issuer + id: ideal_SNSBNL2A + name: SNS Bank + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/SNSBNL2A.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/SNSBNL2A%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/SNSBNL2A.svg + - resource: issuer + id: ideal_TRIONL2U + name: Triodos + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/TRIONL2U.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/TRIONL2U%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/TRIONL2U.svg + - resource: issuer + id: ideal_FVLBNL22 + name: Van Lanschot + image: + size1x: https://www.mollie.com/external/icons/ideal-issuers/FVLBNL22.png + size2x: https://www.mollie.com/external/icons/ideal-issuers/FVLBNL22%402x.png + svg: https://www.mollie.com/external/icons/ideal-issuers/FVLBNL22.svg + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '2000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaylater + description: Pay later. + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaylater%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaylater.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnapaynow + description: Pay now. + minimumAmount: + value: '0.10' + currency: EUR + maximumAmount: + value: '10000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnapaynow%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnapaynow.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: klarnasliceit + description: Slice it. + minimumAmount: + value: '35.00' + currency: EUR + maximumAmount: + value: '4000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/klarnasliceit.png + size2x: https://www.mollie.com/external/icons/payment-methods/klarnasliceit%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/klarnasliceit.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: paypal + description: PayPal + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/paypal.png + size2x: https://www.mollie.com/external/icons/payment-methods/paypal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/paypal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: banktransfer + description: Bank transfer + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/banktransfer.png + size2x: https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/banktransfer.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: giftcard + description: Gift cards + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/giftcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/giftcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/giftcard.svg + status: activated + issuers: + - resource: issuer + id: beautycadeaukaart + name: BeautyCadeau kaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: bloemencadeaukaart + name: Bloemen Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: bloemplantgiftcard + name: Bloem&Plant giftcard + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: boekenbon + name: Boekenbon + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: decadeaukaart + name: DE Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: delokalecadeaukaart + name: De LOKALE Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: dinercadeau + name: Diner Cadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: fashioncheque + name: fashioncheque + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/fashioncheque.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/fashioncheque%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/fashioncheque.svg + - resource: issuer + id: festivalcadeau + name: FestivalCadeau Giftcard + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/festivalcadeau.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/festivalcadeau%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/festivalcadeau.svg + - resource: issuer + id: good4fun + name: Good4fun + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: huistuincadeaukaart + name: Huis & Tuin Cadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: jewelcard + name: Jewelcard + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: kluscadeau + name: Klus Cadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: kunstencultuurcadeaukaart + name: Nationale Kunst & Cultuur Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/kunstencultuurcadeaukaart.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/kunstencultuurcadeaukaart%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/kunstencultuurcadeaukaart.svg + - resource: issuer + id: nationalebioscoopbon + name: Nationale Bioscoopbon + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/nationalebioscoopbon.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/nationalebioscoopbon%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/nationalebioscoopbon.svg + - resource: issuer + id: nationaleentertainmentcard + name: Nationale EntertainmentCard + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/nationaleentertainmentcard.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/nationaleentertainmentcard%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/nationaleentertainmentcard.svg + - resource: issuer + id: nationalegolfbon + name: Nationale Golfbon + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/nationalegolfbon.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/nationalegolfbon%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/nationalegolfbon.svg + - resource: issuer + id: ohmygood + name: ohmygood + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/ohmygood.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/ohmygood%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/ohmygood.svg + - resource: issuer + id: podiumcadeaukaart + name: Podium Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/podiumcadeaukaart.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/podiumcadeaukaart%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/podiumcadeaukaart.svg + - resource: issuer + id: reiscadeau + name: Reis Cadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/reiscadeau.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/reiscadeau%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/reiscadeau.svg + - resource: issuer + id: restaurantcadeau + name: RestaurantCadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: sodexosportculturepass + name: Sodexo - Sport & Culture Pass + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: sportenfitcadeau + name: Sport & Fit Cadeau + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/sportenfitcadeau.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/sportenfitcadeau%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/sportenfitcadeau.svg + - resource: issuer + id: sustainablefashion + name: Sustainable Fashion Gift Card + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/sustainablefashion.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/sustainablefashion%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/sustainablefashion.svg + - resource: issuer + id: travelcheq + name: TravelCheq + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/travelcheq.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/travelcheq%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/travelcheq.svg + - resource: issuer + id: vvvgiftcard + name: VVV Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/vvvgiftcard.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/vvvgiftcard%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/vvvgiftcard.svg + - resource: issuer + id: vvvdinercheque + name: VVV Dinercheque + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/vvvdinercheque.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/vvvdinercheque%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/vvvdinercheque.svg + - resource: issuer + id: vvvlekkerweg + name: VVV Lekkerweg + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/vvvlekkerweg.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/vvvlekkerweg%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/vvvlekkerweg.svg + - resource: issuer + id: webshopgiftcard + name: Webshop Giftcard + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/webshopgiftcard.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/webshopgiftcard%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/webshopgiftcard.svg + - resource: issuer + id: wijncadeaukaart + name: Wijn Cadeaukaart + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/default.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/default%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/default.svg + - resource: issuer + id: yourgift + name: YourGift + image: + size1x: https://www.mollie.com/external/icons/giftcard-issuers/yourgift.png + size2x: https://www.mollie.com/external/icons/giftcard-issuers/yourgift%402x.png + svg: https://www.mollie.com/external/icons/giftcard-issuers/yourgift.svg + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: bancontact + description: Bancontact + minimumAmount: + value: '0.02' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/bancontact.png + size2x: https://www.mollie.com/external/icons/payment-methods/bancontact%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/bancontact.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: eps + description: eps + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/eps.png + size2x: https://www.mollie.com/external/icons/payment-methods/eps%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/eps.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: przelewy24 + description: Przelewy24 + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '12815.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/przelewy24.png + size2x: https://www.mollie.com/external/icons/payment-methods/przelewy24%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/przelewy24.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: kbc + description: KBC/CBC Payment Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/kbc.png + size2x: https://www.mollie.com/external/icons/payment-methods/kbc%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/kbc.svg + status: activated + issuers: + - resource: issuer + id: cbc + name: CBC + image: + size1x: https://www.mollie.com/external/icons/kbc-issuers/cbc.png + size2x: https://www.mollie.com/external/icons/kbc-issuers/cbc%402x.png + svg: https://www.mollie.com/external/icons/kbc-issuers/cbc.svg + - resource: issuer + id: kbc + name: KBC + image: + size1x: https://www.mollie.com/external/icons/kbc-issuers/kbc.png + size2x: https://www.mollie.com/external/icons/kbc-issuers/kbc%402x.png + svg: https://www.mollie.com/external/icons/kbc-issuers/kbc.svg + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: belfius + description: Belfius Pay Button + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/belfius.png + size2x: https://www.mollie.com/external/icons/payment-methods/belfius%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/belfius.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: voucher + description: Vouchers + minimumAmount: + value: '1.00' + currency: EUR + maximumAmount: + value: '100000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/voucher.png + size2x: https://www.mollie.com/external/icons/payment-methods/voucher%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/voucher.svg + status: activated + issuers: + - resource: issuer + id: appetiz + name: Appetiz + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/appetiz.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/appetiz%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/appetiz.svg + - resource: issuer + id: chequedejeuner + name: Chèque Déjeuner + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/chequedejeuner.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/chequedejeuner%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/chequedejeuner.svg + - resource: issuer + id: monizze-cadeau + name: Monizze Cadeau + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/monizze-cadeau.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/monizze-cadeau%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/monizze-cadeau.svg + - resource: issuer + id: monizze-eco + name: Monizze Eco + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/monizze-eco.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/monizze-eco%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/monizze-eco.svg + - resource: issuer + id: monizze-meal + name: Monizze Meal + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/monizze-meal.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/monizze-meal%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/monizze-meal.svg + - resource: issuer + id: passrestaurant + name: PassRestaurant + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/passrestaurant.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/passrestaurant%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/passrestaurant.svg + - resource: issuer + id: sodexo-cadeaupass + name: Sodexo Cadeau Pass + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-cadeaupass.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-cadeaupass%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/sodexo-cadeaupass.svg + - resource: issuer + id: sodexo-ecopass + name: Sodexo Eco Pass + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-ecopass.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-ecopass%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/sodexo-ecopass.svg + - resource: issuer + id: sodexo-lunchpass + name: Sodexo Lunch Pass + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-lunchpass.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/sodexo-lunchpass%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/sodexo-lunchpass.svg + - resource: issuer + id: swile + name: Swile + image: + size1x: https://www.mollie.com/external/icons/voucher-issuers/swile.png + size2x: https://www.mollie.com/external/icons/voucher-issuers/swile%402x.png + svg: https://www.mollie.com/external/icons/voucher-issuers/swile.svg + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: directdebit + description: SEPA Direct Debit + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '1000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/directdebit.png + size2x: https://www.mollie.com/external/icons/payment-methods/directdebit%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/directdebit.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + count: 16 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + list-all-methods-200-4: + summary: List available methods for 25 GBP first payments + x-request: ./requests.yaml#/api-lisv-available-methods-for-25-gbp-first-payments + value: + _embedded: + methods: + - resource: method + id: applepay + description: Apple Pay + minimumAmount: + value: '0.01' + currency: GBP + maximumAmount: + value: '1739.50' + currency: GBP + image: + size1x: https://www.mollie.com/external/icons/payment-methods/applepay.png + size2x: https://www.mollie.com/external/icons/payment-methods/applepay%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/applepay.svg + status: pending-boarding + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.00' + currency: GBP + maximumAmount: + value: '1739.50' + currency: GBP + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: pending-boarding + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: paypal + description: PayPal + minimumAmount: + value: '0.00' + currency: GBP + maximumAmount: null + image: + size1x: https://www.mollie.com/external/icons/payment-methods/paypal.png + size2x: https://www.mollie.com/external/icons/payment-methods/paypal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/paypal.svg + status: pending-boarding + _links: + self: + href: ... + type: application/hal+json + - resource: method + id: banktransfer + description: Bank transfer + minimumAmount: + value: '0.01' + currency: GBP + maximumAmount: + value: '1000000.00' + currency: GBP + image: + size1x: https://www.mollie.com/external/icons/payment-methods/banktransfer.png + size2x: https://www.mollie.com/external/icons/payment-methods/banktransfer%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/banktransfer.svg + status: pending-boarding + _links: + self: + href: ... + type: application/hal+json + count: 4 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + '400': + description: |- + The request contains issues. For example, if the specified `locale` + value is invalid. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 400 + title: Bad Request + detail: The locale is invalid + field: locale + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/methods/all \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $methods = $mollie->send(new GetAllMethodsRequest()); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + methods = mollie_client.methods.all() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + methods = Mollie::Method.all_available + x-speakeasy-group: methods + /methods/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: ideal + get: + summary: Get payment method + x-speakeasy-name-override: get + tags: + - Methods API + operationId: get-method + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve a single payment method by its ID. + + If a method is not available on this profile, a `404 Not Found` response is + returned. If the method is available but not enabled yet, a status `403 Forbidden` is returned. You can enable + payments methods via the [Enable payment method endpoint](enable-method) of the Profiles API, or via + the Mollie Dashboard. + + If you do not know the method's ID, you can use the [methods list + endpoint](list-methods) to retrieve all payment methods that are available. + + Additionally, it is possible to check if wallet methods such as Apple Pay + are enabled by passing the wallet ID (`applepay`) as the method ID. + parameters: + - $ref: '#/components/parameters/locale' + description: |- + Passing a locale will sort the payment methods in the preferred order + for the country, and translate the payment method names in the corresponding language. + - name: currency + description: |- + If provided, the `minimumAmount` and `maximumAmount` will be converted + to the given currency. An error is returned if the currency is not supported by the payment method. + in: query + schema: + type: string + example: EUR + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/include' + description: |- + This endpoint allows you to include additional information via the + `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - issuers + x-enumDescriptions: + issuers: Include issuer details such as which iDEAL or gift card issuers are available. + example: issuers + - name: sequenceType + description: |- + Set this parameter to `first` to only return the methods that + can be used for the first payment of a recurring sequence. + + Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions. + in: query + schema: + $ref: '#/components/schemas/sequence-type' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The payment method object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-method' + examples: + get-method-200-1: + $ref: '#/components/examples/get-method' + '400': + description: |- + The request contains issues. For example, if the specified + `sequenceType` value is invalid. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 400 + title: Bad Request + detail: The locale is invalid + field: locale + _links: + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/methods \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + // Methods for the Payments API + $methods = $mollie->send( + new GetEnabledMethodsRequest( + resource: MethodQuery::RESOURCE_PAYMENTS + ) + ); + + // Methods for the Orders API + $methods = $mollie->send( + new GetEnabledMethodsRequest( + resource: MethodQuery::RESOURCE_ORDERS + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + // Methods for the Payments API + let methods = await mollieClient.methods.list(); + + // Methods for the Orders API + methods = await mollieClient.methods.list({ resource: 'orders' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + # Methods for the Payments API + methods = mollie_client.methods.list() + + # Methods for the Orders API + methods = mollie_client.methods.list(resource="orders") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + # Methods for the Payments API + methods = Mollie::Method.all + + # Methods for the Orders API + methods = Mollie::Method.all(resource: 'orders') + x-speakeasy-group: methods + /profiles/{profileId}/methods/{id}: + parameters: + - $ref: '#/components/parameters/parent-profile-id' + - $ref: '#/components/parameters/id' + schema: + type: string + example: ideal + post: + summary: Enable payment method + x-speakeasy-name-override: enable + tags: + - Methods API + operationId: enable-method + security: + - apiKey: [] + - oAuth: + - profiles.write + description: |- + Enable a payment method on a specific profile. + + When using a profile-specific API credential, the alias `me` can be used + instead of the profile ID to refer to the current profile. + + Some payment methods require extra steps in order to be activated. In cases + where a step at the payment method provider needs to be completed first, the status will be set to + `pending-external` and the response will contain a link to complete the activation at the provider. + + To enable voucher or gift card issuers, refer to the [Enable payment method issuer](enable-method-issuer) endpoint. + responses: + '200': + description: The payment method object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-method' + examples: + enable-method-200-1: + $ref: '#/components/examples/get-method' + enable-method-200-2: + summary: Enable creditcard payment method + value: + resource: method + id: creditcard + description: Credit card + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '500.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/creditcard.png + size2x: https://www.mollie.com/external/icons/payment-methods/creditcard%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/creditcard.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + enable-method-200-3: + summary: Enable ideal payment method + value: + resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://www.mollie.com/external/icons/payment-methods/ideal.png + size2x: https://www.mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://www.mollie.com/external/icons/payment-methods/ideal.svg + status: pending-review + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba/methods/ideal \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + // Enable on a specific profile + $method = $mollie->send( + new EnableMethodRequest( + profileId: "pfl_QkEhN94Ba", + methodId: "ideal" + ) + ); + + // Enable on the current profile + $method = $mollie->send( + new EnableMethodRequest( + profileId: "me", + methodId: "ideal" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const method = await mollieClient.methods.enable({ + id: 'ideal', + profileId: 'pfl_QkEhN94Ba' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + profile = mollie_client.profiles.get("pfl_QkEhN94Ba") + method = profile.methods.enable("ideal") + - language: ruby + code: '' + x-speakeasy-group: methods + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Disable payment method + x-speakeasy-name-override: disable + tags: + - Methods API + operationId: disable-method + security: + - apiKey: [] + - oAuth: + - profiles.write + description: |- + Disable a payment method on a specific profile. + + When using a profile-specific API credential, the alias `me` can be used + instead of the profile ID to refer to the current profile. + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba/methods/ideal \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + // Disable on a specific profile + $mollie->send( + new DisableMethodRequest( + profileId: "pfl_QkEhN94Ba", + methodId: "ideal" + ) + ); + + // Disable on the current profile + $mollie->send( + new DisableMethodRequest( + profileId: "me", + methodId: "ideal" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const method = await mollieClient.methods.disable({ + id: 'ideal', + profileId: 'pfl_QkEhN94Ba' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + profile = mollie_client.profiles.get("pfl_QkEhN94Ba") + profile.methods.delete("ideal") + - language: ruby + code: '' + x-speakeasy-group: methods + parameters: + - $ref: '#/components/parameters/idempotency-key' + /profiles/{profileId}/methods/{methodId}/issuers/{id}: + parameters: + - $ref: '#/components/parameters/parent-profile-id' + - $ref: '#/components/parameters/parent-method-id' + schema: + type: string + enum: + - voucher + - giftcard + example: voucher + - $ref: '#/components/parameters/id' + schema: + type: string + example: edenred-france-sports + post: + summary: Enable payment method issuer + x-speakeasy-name-override: enable-issuer + tags: + - Methods API + operationId: enable-method-issuer + security: + - apiKey: [] + - oAuth: + - profiles.write + description: |- + Enable an issuer for a payment method on a specific profile. + + Currently only the payment methods `voucher` and `giftcard` are supported. + + When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the + current profile. + requestBody: + content: + application/json: + schema: + type: object + properties: + contractId: + type: + - string + - 'null' + description: |- + When enabling a voucher issuer, an inbetween party may be involved which you have a contract with. + Provide the contract ID for the first time you enable an issuer via this contractor. + + You can update the contract ID as long as it is not approved yet, by repeating the API call with a + different contract ID. + example: ideal + responses: + '200': + description: The payment method issuer object. + content: + application/hal+json: + schema: + oneOf: + - $ref: '#/components/schemas/giftcard' + - $ref: '#/components/schemas/voucher' + examples: + enable-method-issuer-200-1: + summary: The payment method issuer object + value: + resource: issuer + id: festivalcadeau + description: FestivalCadeau Giftcard + status: pending-issuer + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba/methods/giftcard/issuers/festivalcadeau \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $issuer = $mollie->send( + new EnableMethodIssuerRequest( + profileId: "pfl_QkEhN94Ba", + methodId: "giftcard", + issuerId: "festivalcadeau" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = await mollieClient.profileGiftcardIssuers.enable({ + id: 'festivalcadeau', + profileId: 'pfl_QkEhN94Ba' + }); + + // For vouchers, use `MollieClient.profileVoucherIssuers` + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + profile = mollie_client.profiles.get("pfl_QkEhN94Ba") + issuer = profile.methods.enable_issuer("giftcard", "festivalcadeau") + - language: ruby + code: '' + x-speakeasy-group: methods + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Disable payment method issuer + x-speakeasy-name-override: disable-issuer + tags: + - Methods API + operationId: disable-method-issuer + security: + - apiKey: [] + - oAuth: + - profiles.write + description: |- + Disable an issuer for a payment method on a specific profile. + + Currently only the payment methods `voucher` and `giftcard` are supported. + + When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the + current profile. + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/profiles/pfl_QkEhN94Ba/methods/giftcard/issuers/festivalcadeau \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send( + new DisableMethodIssuerRequest( + profileId: "pfl_QkEhN94Ba", + methodId: "giftcard", + issuerId: "festivalcadeau" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = await mollieClient.profileGiftcardIssuers.disable({ + id: 'festivalcadeau', + profileId: 'pfl_QkEhN94Ba' + }); + + // For vouchers, use `MollieClient.profileVoucherIssuers` + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + profile = mollie_client.profiles.get("pfl_QkEhN94Ba") + profile.methods.disable_issuer("giftcard", "festivalcadeau") + - language: ruby + code: '' + x-speakeasy-group: methods + parameters: + - $ref: '#/components/parameters/idempotency-key' + /payments/{paymentId}/refunds: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + post: + summary: Create payment refund + x-speakeasy-name-override: create + tags: + - Refunds API + operationId: create-refund + security: + - apiKey: [] + - oAuth: + - refunds.write + description: |- + Creates a refund for a specific payment. The refunded amount is credited to your customer usually either via a bank + transfer or by refunding the amount to your customer's credit card. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/refund-request' + responses: + '201': + description: The newly created refund object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-refund-response' + examples: + create-refund-201-1: + $ref: '#/components/examples/get-refund' + create-refund-201-2: + summary: Refund split payment with routing reversals + x-request: ./requests.yaml#/oauth-refund-split-payment-with-routing-reversals + value: + resource: refund + id: re_GKQYmNNAfL + mode: live + amount: + value: '10.00' + currency: EUR + status: pending + createdAt: '2023-02-06T15:55:57+00:00' + description: Refund description of example payment + metadata: null + paymentId: tr_aZm7dgj5zs + settlementAmount: + value: '-10.00' + currency: EUR + routingReversals: + - source: + organizationId: org_7049691 + organizationName: Hugo's eenzame zaak + amount: + value: '7.50' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_aZm7dgj5zs?testmode=true + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '409': + description: Two identical refund requests were submitted on the same payment in short succession. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 409 + title: Conflict + detail: A duplicate refund has been detected + _links: + documentation: + href: ... + type: text/html + '422': + description: The request contains issues. For example, if the refund amount is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'amount' field is missing + field: amount + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=5.95" \ + -d "metadata={\"bookkeeping_id\": 12345}" + - language: php + code: |- + use Mollie\Api\Http\Requests\CreatePaymentRefundRequest; + use Mollie\Api\Http\Data\Money; + + $mollie = new \Mollie\Api\MollieApiClient(); + $mollie->setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $refund = $mollie->send( + new CreatePaymentRefundRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + description: "Refund for order", + amount: new Money(currency: "EUR", value: "5.95"), + metadata: [ + "bookkeeping_id" => 12345, + ] + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const refund = await mollieClient.paymentRefunds.create({ + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo', + amount: { + currency: 'EUR', + value: '5.95' + }, + metadata: { + bookkeeping_id: 12345 + } + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + refund = payment.refunds.create({ + "amount": { + "value": "5.95", + "currency": "EUR", + } + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + refund = Mollie::Payment::Refund.create( + payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo', + amount: { + value: '5.95', + currency: 'EUR' + }, + metadata: { + bookkeeping_id: 12345 + } + ) + x-speakeasy-group: refunds + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List payment refunds + x-speakeasy-name-override: list + tags: + - Refunds API + operationId: list-refunds + security: + - apiKey: [] + - oAuth: + - refunds.read + description: |- + Retrieve a list of all refunds created for a specific payment. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/refundToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payment related to this refund. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of refund objects. For a complete reference of the refund object, refer to the + [Get refund endpoint](get-refund) documentation. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - refunds + properties: + refunds: + description: An array of refund objects. + type: array + items: + $ref: '#/components/schemas/entity-refund-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-refunds-200-1: + summary: A list of refund objects + value: + count: 1 + _embedded: + refunds: + - resource: refund + id: re_4qqhO89gsT + mode: live + description: Order + amount: + currency: EUR + value: '5.95' + status: pending + metadata: + bookkeeping_id: 12345 + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds?from=re_APBiGPH2vV&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $refunds = $mollie->send( + new GetPaginatedPaymentRefundsRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + limit: 5 + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const refunds = mollieClient.paymentRefunds.iterate({ paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + refunds = payment.refunds.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + refunds = Mollie::Payment.get('tr_5B8cwPMGnU6qLbRvo7qEZo').refunds + x-speakeasy-group: refunds + /payments/{paymentId}/refunds/{refundId}: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + - $ref: '#/components/parameters/parent-refund-id' + get: + summary: Get payment refund + x-speakeasy-name-override: get + tags: + - Refunds API + operationId: get-refund + security: + - apiKey: [] + - oAuth: + - refunds.read + description: Retrieve a single payment refund by its ID and the ID of its parent payment. + parameters: + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payment related to this refund. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-refund-response' + examples: + get-refund-200-1: + $ref: '#/components/examples/get-refund' + '404': + $ref: '#/components/responses/404-invalid-id' + description: No item with this ID exists, or the refund was canceled. + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds/re_4qqhO89gsT \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $refund = $mollie->send( + new GetPaymentRefundRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + refundId: "re_4qqhO89gsT" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const refund = await mollieClient.paymentRefunds.get('re_4qqhO89gsT', { + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + refund = payment.refunds.get("re_4qqhO89gsT") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + refund = Mollie::Payment::Refund.get( + 're_4qqhO89gsT', + payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + ) + x-speakeasy-group: refunds + delete: + summary: Cancel payment refund + x-speakeasy-name-override: cancel + tags: + - Refunds API + operationId: cancel-refund + security: + - apiKey: [] + - oAuth: + - refunds.write + description: |- + Refunds will be executed with a delay of two hours. Until that time, refunds may be canceled manually via the + Mollie Dashboard, or by using this endpoint. + + A refund can only be canceled while its `status` field is either `queued` or `pending`. See the + [Get refund endpoint](get-refund) for more information. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '204': + description: An empty response if the refund was successfully canceled. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds/re_4qqhO89gsT \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send( + new CancelPaymentRefundRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + id: "re_4qqhO89gsT" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + await mollieClient.paymentRefunds.cancel('re_4qqhO89gsT', { + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + refund = payment.refunds.delete("re_4qqhO89gsT") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + Mollie::Payment::Refund.delete( + 're_4qqhO89gsT', + payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + ) + x-speakeasy-group: refunds + /refunds: + get: + summary: List all refunds + x-speakeasy-name-override: all + tags: + - Refunds API + operationId: list-all-refunds + security: + - apiKey: [] + - oAuth: + - refunds.read + description: |- + Retrieve a list of all of your refunds. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/refundToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payment related to this refund. + example: payment + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of refund objects + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - refunds + properties: + refunds: + description: An array of refund objects. + type: array + items: + $ref: '#/components/schemas/entity-refund-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-refunds-200-1: + summary: A list of refund objects + value: + count: 1 + _embedded: + refunds: + - resource: refund + id: re_4qqhO89gsT + mode: live + description: Order + amount: + currency: EUR + value: '5.95' + status: pending + metadata: + bookkeeping_id: 12345 + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/refunds?from=re_APBiGPH2vV&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/refunds?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $refunds = $mollie->send( + new GetPaginatedRefundsRequest( + limit: 5 + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const refunds = mollieClient.refunds.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + refunds = mollie_client.refunds.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + refunds = Mollie::Refund.all + x-speakeasy-group: refunds + /payments/{paymentId}/chargebacks: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + get: + summary: List payment chargebacks + x-speakeasy-name-override: list + tags: + - Chargebacks API + operationId: list-chargebacks + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve the chargebacks initiated for a specific payment. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/chargebackToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: This endpoint allows you to embed additional information via the `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Include the payment these chargebacks were issued for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of chargeback objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + chargebacks: + description: A list of chargeback objects. + type: array + items: + $ref: '#/components/schemas/entity-chargeback' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-chargeback-200-1: + $ref: '#/components/examples/list-chargebacks' + list-chargeback-200-2: + summary: List payment chargebacks + value: + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-chargeback-200-3: + summary: List payment chargebacks with payment embedded + value: + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _embedded: + payment: + resource: payment + id: tr_8bVBhk2qs4 + mode: test + createdAt: '2022-01-03T13:11:20+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: paid + paidAt: '2022-01-03T13:18:39+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + amountChargedBack: + value: '10.00' + currency: EUR + locale: en_US + restrictPaymentMethodsToCountry: NL + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/landing_page + webhookUrl: https://example.com/redirect + settlementAmount: + value: '10.00' + currency: EUR + details: + cardNumber: '6787' + cardHolder: T. TEST + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8bVBhk2qs4 + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.11roh2 + type: text/html + chargebacks: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4/chargebacks + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/chargebacks?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $chargebacks = $mollie->send( + new GetPaginatedPaymentChargebacksRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const chargebacks = mollieClient.paymentChargebacks.iterate({ paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + chargebacks = payment.chargebacks.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + chargebacks = Mollie::Payment.get('tr_5B8cwPMGnU6qLbRvo7qEZo').chargebacks + x-speakeasy-group: chargebacks + /payments/{paymentId}/chargebacks/{chargebackId}: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + - $ref: '#/components/parameters/parent-chargeback-id' + get: + summary: Get payment chargeback + x-speakeasy-name-override: get + tags: + - Chargebacks API + operationId: get-chargeback + security: + - apiKey: [] + - oAuth: + - payments.read + description: Retrieve a single payment chargeback by its ID and the ID of its parent payment. + parameters: + - $ref: '#/components/parameters/embed' + description: This endpoint allows you to embed additional information via the `embed` query string parameter. + schema: + type: + - string + - 'null' + enum: + - payment + x-enumDescriptions: + payment: Include the payment this chargeback was issued for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The chargeback object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-chargeback' + examples: + get-chargeback-200-1: + summary: A single payment chargeback + value: + resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + currency: USD + value: '43.38' + settlementAmount: + currency: EUR + value: '-35.07' + reason: + code: AC01 + description: Account identifier incorrect (i.e. invalid IBAN) + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + reversedAt: null + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + get-chargeback-200-2: + summary: Get payment chargeback + value: + resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/chargebacks/chb_xFzwUN4ci8HAmSGUACS4J \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $chargeback = $mollie->send( + new GetPaymentChargebackRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + chargebackId: "chb_xFzwUN4ci8HAmSGUACS4J" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const chargeback = await mollieClient.paymentChargebacks.get('chb_xFzwUN4ci8HAmSGUACS4J', { + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + chargeback = payment.chargebacks.get("chb_xFzwUN4ci8HAmSGUACS4J") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + chargeback = Mollie::Payment::Chargeback.get( + 'chb_xFzwUN4ci8HAmSGUACS4J', + payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + ) + x-speakeasy-group: chargebacks + /chargebacks: + get: + summary: List all chargebacks + x-speakeasy-name-override: all + tags: + - Chargebacks API + operationId: list-all-chargebacks + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve all chargebacks initiated for all your payments. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/chargebackToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows you to embed additional information via the + `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Include the payment these chargebacks were issued for. + example: payment + - $ref: '#/components/parameters/list-sort' + - name: profileId + description: |- + The identifier referring to the [profile](get-profile) you wish to + retrieve chargebacks for. + + Most API credentials are linked to a single profile. In these cases the + `profileId` is already implied. + + To retrieve all chargebacks across the organization, use an + organization-level API credential and omit the `profileId` parameter. + in: query + schema: + type: + - string + - 'null' + $ref: '#/components/schemas/profileToken' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of chargeback objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + chargebacks: + description: A list of chargeback objects. + type: array + items: + $ref: '#/components/schemas/entity-chargeback' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-all-chargebacks-200-1: + $ref: '#/components/examples/list-chargebacks' + list-all-chargebacks-200-2: + summary: List all chargebacks + value: + count: 2 + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:28:13+00:00' + paymentId: tr_HdQrGb6N3r + settlementAmount: + value: '-10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_HdQrGb6N3r + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS41 + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-all-chargebacks-200-3: + summary: List chargeback with payments embedded + x-request: ./requests.yaml#/api-list-chargeback-with-payments-embedded + value: + count: 2 + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:28:13+00:00' + paymentId: tr_HdQrGb6N3r + settlementAmount: + value: '-10.00' + currency: EUR + _embedded: + payment: + resource: payment + id: tr_HdQrGb6N3r + mode: test + createdAt: '2022-01-03T13:27:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: paid + paidAt: '2022-01-03T13:28:10+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + amountChargedBack: + value: '10.00' + currency: EUR + locale: en_US + restrictPaymentMethodsToCountry: NL + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/landing_page + webhookUrl: https://example.com/redirect + settlementAmount: + value: '10.00' + currency: EUR + details: + cardNumber: '6787' + cardHolder: T. TEST + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_HdQrGb6N3r + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.lxnsca + type: text/html + chargebacks: + href: https://api.mollie.com/v2/payments/tr_HdQrGb6N3r/chargebacks + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_HdQrGb6N3r + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS41 + amount: + value: '10.00' + currency: EUR + createdAt: '2022-01-03T13:20:37+00:00' + paymentId: tr_8bVBhk2qs4 + settlementAmount: + value: '-10.00' + currency: EUR + _embedded: + payment: + resource: payment + id: tr_8bVBhk2qs4 + mode: test + createdAt: '2022-01-03T13:11:20+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: paid + paidAt: '2022-01-03T13:18:39+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + amountChargedBack: + value: '10.00' + currency: EUR + locale: en_US + restrictPaymentMethodsToCountry: NL + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/landing_page + webhookUrl: https://example.com/redirect + settlementAmount: + value: '10.00' + currency: EUR + details: + cardNumber: '6787' + cardHolder: T. TEST + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8bVBhk2qs4 + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.11roh2 + type: text/html + chargebacks: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4/chargebacks + type: application/hal+json + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_8bVBhk2qs4 + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/chargebacks?limit=5 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $chargebacks = $mollie->send( + new GetPaginatedChargebacksRequest() + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const chargebacks = mollieClient.chargebacks.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + chargebacks = mollie_client.chargebacks.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + chargebacks = Mollie::Chargeback.all + x-speakeasy-group: chargebacks + /payments/{paymentId}/captures: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + post: + summary: Create capture + x-speakeasy-name-override: create + tags: + - Captures API + operationId: create-capture + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Capture an *authorized* payment. + + Some payment methods allow you to first collect a customer's authorization, + and capture the amount at a later point. + + By default, Mollie captures payments automatically. If however you + configured your payment with `captureMode: manual`, you can capture the payment using this endpoint after + having collected the customer's authorization. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-capture' + responses: + '201': + description: |- + The newly created capture object. For a complete reference of the + capture object, refer to the [Get capture endpoint](get-capture) documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/capture-response' + examples: + get-capture-200-1: + $ref: '#/components/examples/get-capture' + get-capture-200-2: + summary: Get capture + value: + resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: test + amount: + value: '467.92' + currency: EUR + settlementAmount: + value: '467.92' + currency: EUR + createdAt: '2021-06-03T11:50:58+00:00' + status: pending + paymentId: tr_V9kqkGtyUH + shipmentId: shp_5x4xQJDWGNcY3tKGL7X5J + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_V9kqkGtyUH + type: application/hal+json + shipment: + href: https://api.mollie.com/v2/orders/ord_uvpptr/shipments/shp_5x4xQJDWGNcY3tKGL7X5J + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the capture amount is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The amount contains an invalid currency + field: amount.currency + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/captures \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "description=Capture for cart #12345" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=35.95" + - language: php + code: |- + use Mollie\Api\Http\Requests\CreatePaymentCaptureRequest; + use Mollie\Api\Http\Data\Money; + + $mollie = new \Mollie\Api\MollieApiClient(); + $mollie->setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $capture = $mollie->send( + new CreatePaymentCaptureRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + description: "Capture for cart #12345", + amount: new Money(currency: "EUR", value: "35.95"), + metadata: [ + "bookkeeping_id" => 12345, + ] + ) + ); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo", embed="captures") + capture = payment.captures.create({ + "amount": { + "currency": "EUR", + "value": "35.95", + }, + "description": "Capture for cart #12345", + "metadata": { + "bookkeeping_id": 12345, + } + }) + - language: ruby + code: '' + x-speakeasy-group: captures + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List captures + x-speakeasy-name-override: list + tags: + - Captures API + operationId: list-captures + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve a list of all captures created for a specific payment. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/captureToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows you to embed additional resources via the + `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payments that the captures were created for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of capture objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - captures + properties: + captures: + description: An array of capture objects. + type: array + items: + $ref: '#/components/schemas/capture-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-captures-200-1: + summary: List of capture objects + value: + count: 1 + _embedded: + captures: + - resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: live + description: 'Capture for cart #12345' + amount: + currency: EUR + value: '35.95' + metadata: '{"bookkeeping_id":12345}' + status: pending + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-08-02T09:29:56.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/captures?from=cpt_vytxeTZskVKR7C7WgdSP3d&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-captures-200-2: + summary: Get captures of payment + value: + _embedded: + captures: + - resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: test + amount: + value: '467.92' + currency: EUR + settlementAmount: + value: '467.92' + currency: EUR + status: pending + createdAt: '2021-06-03T11:50:58+00:00' + paymentId: tr_V9kqkGtyUH + shipmentId: shp_5x4xQJDWGNcY3tKGL7X5J + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_V9kqkGtyUH + type: application/hal+json + shipment: + href: https://api.mollie.com/v2/orders/ord_uvpptr/shipments/shp_5x4xQJDWGNcY3tKGL7X5J + type: application/hal+json + documentation: + href: ... + type: text/html + count: 1 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/captures \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $captures = $mollie->send( + new GetPaginatedPaymentCapturesRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const captures = mollieClient.paymentCaptures.iterate({ paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + captures = payment.captures.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + captures = Mollie::Payment::Capture.all(payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo') + x-speakeasy-group: captures + /payments/{paymentId}/captures/{captureId}: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + - $ref: '#/components/parameters/parent-capture-id' + get: + summary: Get capture + x-speakeasy-name-override: get + tags: + - Captures API + operationId: get-capture + security: + - apiKey: [] + - oAuth: + - payments.read + description: |- + Retrieve a single payment capture by its ID and the ID of its parent + payment. + parameters: + - $ref: '#/components/parameters/embed' + description: |- + This endpoint allows you to embed additional resources via the + `embed` query string parameter. + schema: + type: string + enum: + - payment + x-enumDescriptions: + payment: Embed the payment this capture was created for. + example: payment + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The capture object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/capture-response' + examples: + get-capture-200-1: + $ref: '#/components/examples/get-capture' + get-capture-200-2: + summary: Get capture + value: + resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: test + amount: + value: '467.92' + currency: EUR + settlementAmount: + value: '467.92' + currency: EUR + createdAt: '2021-06-03T11:50:58+00:00' + status: pending + paymentId: tr_V9kqkGtyUH + shipmentId: shp_5x4xQJDWGNcY3tKGL7X5J + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_V9kqkGtyUH + type: application/hal+json + shipment: + href: https://api.mollie.com/v2/orders/ord_uvpptr/shipments/shp_5x4xQJDWGNcY3tKGL7X5J + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/captures/cpt_vytxeTZskVKR7C7WgdSP3d \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $capture = $mollie->send( + new GetPaymentCaptureRequest( + paymentId: "tr_5B8cwPMGnU6qLbRvo7qEZo", + captureId: "cpt_vytxeTZskVKR7C7WgdSP3d" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const capture = await mollieClient.paymentCaptures.get('cpt_vytxeTZskVKR7C7WgdSP3d', { + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment = mollie_client.payments.get("tr_5B8cwPMGnU6qLbRvo7qEZo") + capture = payment.captures.get("cpt_vytxeTZskVKR7C7WgdSP3d") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + capture = Mollie::Payment::Capture.get( + 'cpt_vytxeTZskVKR7C7WgdSP3d', + payment_id: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + ) + x-speakeasy-group: captures + /wallets/applepay/sessions: + post: + summary: Request Apple Pay payment session + x-speakeasy-name-override: request-apple-pay-session + tags: + - Wallets API + operationId: request-apple-pay-payment-session + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + When integrating Apple Pay in your own checkout on the web, you need to + [provide merchant validation](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation). + This is normally done using Apple's + [Requesting an Apple Pay Session](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session). + The merchant validation proves to Apple that a validated merchant is calling the Apple Pay Javascript APIs. + + To integrate Apple Pay via Mollie, you will have to call the Mollie API instead of Apple's API. The response of this + API call can then be passed as-is to the completion method, `completeMerchantValidation`. + + Before requesting an Apple Pay Payment Session, you must place the domain validation file on your server at: + `https://[domain]/.well-known/apple-developer-merchantid-domain-association`. Without this file, it will not be + possible to use Apple Pay on your domain. + + Each new transaction requires a new payment session object. Merchant session objects are not reusable, and they + expire after five minutes. + + Payment sessions cannot be requested directly from the browser. The request must be sent from your server. For the + full documentation, see the official + [Apple Pay JS API](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api) documentation. + requestBody: + content: + application/json: + schema: + type: object + properties: + validationUrl: + type: string + example: https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession + description: |- + The validationUrl you got from the + [ApplePayValidateMerchant event](https://developer.apple.com/documentation/apple_pay_on_the_web/applepayvalidatemerchantevent). + + A list of all + [valid host names](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server) + for merchant validation is available. You should white list these in your application and reject any + `validationUrl`s that have a host name not in the list. + domain: + type: string + description: |- + The domain of your web shop, that is visible in the browser's location bar. For example + `pay.myshop.com`. + example: pay.myshop.com + profileId: + type: + - string + - 'null' + $ref: '#/components/schemas/profileToken' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in + the creation request. For organization-level credentials such as OAuth access tokens however, the + `profileId` parameter is required. + required: + - validationUrl + - domain + responses: + '201': + description: |- + The Apple Pay payment session object generated by Apple. This object, as mentioned in the Apple's Documentation, + is opaque, so we are not defining a response schema. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-session' + examples: + request-apple-pay-payment-session-201-1: + summary: The Apple Pay payment session object + value: + epochTimestamp: 1555507053169 + expiresAt: 1555510653169 + merchantSessionIdentifier: SSH2EAF8AFAEAA94DEEA898162A5DAFD36E_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A9 + nonce: 0206b8db + merchantIdentifier: BD62FEB196874511C22DB28A9E14A89E3534C93194F73EA417EC566368D391EB + domainName: pay.example.org + displayName: Chuck Norris's Store + signature: 308006092a864886f7...8cc030ad3000000000000 + '422': + description: The request contains issues. For example, if the validation URL is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: Apple is not able to verify your domain + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/wallets/applepay/sessions \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "domain=pay.mywebshop.com" \ + -d "validationUrl=https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession" + - language: php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $request = new ApplePayPaymentSessionRequest( + domain: 'pay.example.org', + validationUrl: 'https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession' + ); + + $session = $mollie->send($request); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: wallets + parameters: + - $ref: '#/components/parameters/idempotency-key' + /payment-links: + post: + summary: Create payment link + x-speakeasy-name-override: create + tags: + - Payment Links API + operationId: create-payment-link + security: + - apiKey: [] + - oAuth: + - payment-links.write + description: |- + With the Payment links API you can generate payment links that by default, unlike regular payments, do not expire. + The payment link can be shared with your customers and will redirect them to them the payment page where they can + complete the payment. A [payment](get-payment) will only be created once the customer initiates the payment. + requestBody: + content: + application/json: + schema: + properties: + resource: + type: string + description: |- + Indicates the response contains a payment link object. Will always contain the string `payment-link` for this + endpoint. + readOnly: true + example: payment-link + id: + $ref: '#/components/schemas/paymentLinkToken' + description: 'The identifier uniquely referring to this payment link. Example: `pl_4Y0eZitmBnQ6IDoMqZQKh`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: |- + A short description of the payment link. The description is visible in the Dashboard and will be shown on the + customer's bank or card statement when possible. + maxLength: 255 + example: Chess Board + amount: + $ref: '#/components/schemas/amount-nullable' + description: |- + The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an + amount. + minimumAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + The minimum amount of the payment link. This property is only allowed when there is no amount provided. The + customer will be prompted to enter a value greater than or equal to the minimum amount. + archived: + type: boolean + description: Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + example: false + readOnly: true + redirectUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, + the customer will be shown a generic message after completing the payment. + example: https://webshop.example.org/payment-links/redirect/ + webhookUrl: + type: + - string + - 'null' + description: |- + The webhook URL where we will send payment status updates to. + + The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments + resulting from the payment link. + + The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use + webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your + local machine. + example: https://webshop.example.org/payment-links/webhook/ + lines: + type: + - array + - 'null' + description: |- + Optionally provide the order lines for the payment. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the payment. + + Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + items: + $ref: '#/components/schemas/payment-line-item' + billingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + shippingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's shipping address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + profileId: + type: + - string + - 'null' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + example: pfl_QkEhN94Ba + reusable: + type: + - boolean + - 'null' + description: |- + Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple + payments using the same link. + + If no value is specified, the field defaults to `false`, allowing only a single payment per link. + example: false + createdAt: + $ref: '#/components/schemas/created-at' + paidAt: + type: + - string + - 'null' + description: The date and time the payment link became paid, in ISO 8601 format. + example: '2025-12-24T11:00:16+00:00' + readOnly: true + expiresAt: + type: + - string + - 'null' + description: |- + The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, + the payment link will not expire automatically. + example: '2025-12-24T11:00:16+00:00' + allowedMethods: + $ref: '#/components/schemas/payment-link-methods' + applicationFee: + type: object + description: |- + With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie + merchants. + + If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this + `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent + to your own account balance. + required: + - amount + - description + properties: + amount: + $ref: '#/components/schemas/amount' + description: |- + The fee that you wish to charge. + + Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge + a €0.99 fee on a €1.00 payment. + description: + type: string + description: |- + The description of the application fee. This will appear on settlement reports towards both you and the + connected merchant. + maxLength: 255 + example: Platform fee + sequenceType: + $ref: '#/components/schemas/payment-link-sequence-type' + description: |- + If set to `first`, a payment mandate is established right after a payment is made by the customer. + + Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. + + The mandate ID can be retrieved by making a call to the + [Payment Link Payments Endpoint](get-payment-link-payments). + customerId: + type: + - string + - 'null' + description: |- + **Only relevant when `sequenceType` is set to `first`** + + The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, + the customer will be required to input relevant information which will be used to establish a mandate after + the payment is made. + example: cst_XimFHuaEzd + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - paymentLink + properties: + self: + $ref: '#/components/schemas/url' + paymentLink: + $ref: '#/components/schemas/url' + description: The URL your customer should visit to make the payment. This is where you should redirect the customer to. + readOnly: true + required: + - description + responses: + '201': + description: The newly created payment link object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-link-response' + examples: + create-payment-link-201-1: + $ref: '#/components/examples/get-payment-link' + create-payment-link-201-2: + summary: Create payment link + x-request: ./requests.yaml#/api-create-payment-link + value: + resource: payment-link + id: pl_O5gN36aL3KzQo4GNXJoRl + description: This is the description of the payment + mode: test + profileId: pfl_85dxyKqNHa + amount: + value: '10.00' + currency: EUR + archived: false + webhookUrl: https://example.com/redirect + redirectUrl: https://example.com/landing_page + createdAt: '2022-01-03T15:04:02+00:00' + paidAt: null + updatedAt: null + expiresAt: '2029-12-24T11:00:16+00:00' + reusable: false + allowedMethods: + - ideal + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/O5gN36aL3KzQo4GNXJoRl/ + type: text/html + documentation: + href: ... + type: text/html + create-payment-link-201-3: + summary: Create payment link on profile + x-request: ./requests.yaml#/oauth-create-payment-link-on-profile + value: + resource: payment-link + id: pl_64LiUHdgE1i8pPx6f0YFz + description: This is the description of the payment + mode: live + profileId: pfl_zcfJRjkf6P + amount: + value: '10.00' + currency: EUR + archived: false + webhookUrl: https://example.com/redirect + redirectUrl: https://example.com/landing_page + createdAt: '2022-01-19T13:38:26+00:00' + paidAt: null + updatedAt: null + expiresAt: '2029-12-24T11:00:16+00:00' + reusable: false + allowedMethods: null + sequenceType: oneoff + customerId: null + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform fee + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/64LiUHdgE1i8pPx6f0YFz/ + type: text/html + documentation: + href: ... + type: text/html + create-payment-link-201-4: + summary: Create payment link with a minimum amount + x-request: ./requests.yaml#/api-create-payment-link + value: + resource: payment-link + id: pl_O5gN36aL3KzQo4GNXJoRl + description: This is the description of the payment + mode: test + profileId: pfl_85dxyKqNHa + amount: null + minimumAmount: + value: '10.00' + currency: EUR + archived: false + webhookUrl: https://example.com/redirect + redirectUrl: https://example.com/landing_page + createdAt: '2022-01-03T15:04:02+00:00' + paidAt: null + updatedAt: null + expiresAt: '2029-12-24T11:00:16+00:00' + reusable: false + allowedMethods: + - ideal + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/O5gN36aL3KzQo4GNXJoRl/ + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the payment link description is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The description is missing + field: description + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payment-links \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "description=Bicycle tires" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=24.95" \ + -d "minimumAmount[currency]=null" \ + -d "minimumAmount[value]=null" \ + -d "redirectUrl=https://webshop.example.org/thanks" \ + -d "webhookUrl=https://webshop.example.org/payment-links/webhook" \ + -d "expiresAt=2023-06-06T11:00:00+00:00" + -d "reusable=false" + -d "allowedMethods[]=ideal" + -d "sequenceType=first" + -d "customerId=cst_vsKJpSsabw" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $paymentLink = $mollie->send(new CreatePaymentLinkRequest( + description: "Bicycle tires", + amount: new Money(currency: "EUR", value: "24.95"), + redirectUrl: "https://webshop.example.org/thanks", + webhookUrl: "https://webshop.example.org/payment-links/webhook/", + expiresAt: "2023-06-06T11:00:00+00:00", + reusable: false, + allowedMethods: ["ideal"], + sequenceType: "first", + customerId: "cst_vsKJpSsabw" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const paymentLink = await mollieClient.paymentLinks.create({ + amount: { + currency: 'EUR', + value: '24.95' + }, + description: 'Bicycle tires', + redirectUrl: 'https://webshop.example.org/thanks', + webhookUrl: 'https://webshop.example.org/payment-links/webhook/', + expiresAt: '2023-06-06T11:00:00+00:00', + reusable: false, + allowedMethods: ['ideal'], + sequenceType: 'first', + customerId: 'cst_vsKJpSsabw' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment_link = mollie_client.payment_links.create({ + "description": "Bicycle tires", + "amount": { + "currency": "EUR", + "value": "24.95" + }, + "minimumAmount": null, + "webhookUrl": "https://webshop.example.org/payment-links/webhook/", + "redirectUrl": "https://webshop.example.org/thanks", + "expiresAt": "2023-06-06T11:00:00+00:00", + "reusable": false, + "allowedMethods": ["ideal"], + "sequenceType": "first", + "customerId": "cst_vsKJpSsabw" + }) + - language: ruby + code: '' + x-speakeasy-group: payment-links + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List payment links + x-speakeasy-name-override: list + tags: + - Payment Links API + operationId: list-payment-links + security: + - apiKey: [] + - oAuth: + - payment-links.read + description: |- + Retrieve a list of all payment links. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/paymentLinkToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment link objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payment_links: + description: An array of payment link objects. + type: array + items: + $ref: '#/components/schemas/payment-link-response' + _links: + $ref: '#/components/schemas/list-links' + required: + - count + - _embedded + - _links + examples: + list-payment-links-200-1: + summary: A list of payment link objects + value: + count: 1 + _embedded: + payment_links: + - resource: payment-link + id: pl_4Y0eZitmBnQ6IDoMqZQKh + mode: live + description: Bicycle tires + amount: + currency: EUR + value: '24.95' + archived: false + redirectUrl: https://webshop.example.org/thanks + webhookUrl: https://webshop.example.org/payment-links/webhook + profileId: pfl_QkEhN94Ba + createdAt: '2021-03-20T09:29:56.0Z' + paidAt: '2022-03-20T09:29:56.0Z' + expiresAt: '2023-06-06T11:00:00.0Z' + reusable: false + allowedMethods: + - ideal + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/4Y0eZitmBnQ6IDoMqZQKh + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payment-links?from=pl_ayGNzD4TYuQtUaxNyu8aH&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-payment-links-200-2: + summary: List payments links for specific profile + x-request: ./requests.yaml#/oauth-list-payments-links-for-specific-profile + value: + _embedded: + payment_links: + - resource: payment-link + id: pl_64LiUHdgE1i8pPx6f0YFz + description: This is the description of the payment + mode: live + profileId: pfl_zcfJRjkf6P + amount: + value: '10.00' + currency: EUR + archived: false + webhookUrl: https://example.com/redirect + redirectUrl: https://example.com/landing_page + createdAt: '2022-01-19T13:38:26+00:00' + paidAt: null + updatedAt: null + expiresAt: '2029-12-24T11:00:16+00:00' + reusable: false + allowedMethods: + - creditcard + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/64LiUHdgE1i8pPx6f0YFz/ + type: text/html + - resource: payment-link + id: pl_wDW1JeAnCnPsh04jsfRSb + description: test + mode: live + profileId: pfl_zcfJRjkf6P + amount: + value: '20.00' + currency: EUR + archived: false + webhookUrl: null + redirectUrl: null + createdAt: '2021-09-29T13:34:49+00:00' + paidAt: null + updatedAt: null + expiresAt: null + reusable: false + allowedMethods: null + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/wDW1JeAnCnPsh04jsfRSb/ + type: text/html + - resource: payment-link + id: pl_Fht9cI7qi52h2RWjnfilj + description: Testbla + mode: live + profileId: pfl_zcfJRjkf6P + amount: + value: '10.00' + currency: EUR + archived: false + webhookUrl: null + redirectUrl: null + createdAt: '2021-08-25T11:29:05+00:00' + paidAt: null + updatedAt: null + expiresAt: null + reusable: false + allowedMethods: null + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/Fht9cI7qi52h2RWjnfilj/ + type: text/html + count: 3 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payment-links \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $paymentLinks = $mollie->send(new GetPaginatedPaymentLinksRequest( + from: null, + limit: 5 + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const paymentLinks = await mollieClient.paymentLinks.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment_links = mollie_client.payment_links.list() + - language: ruby + code: '' + x-speakeasy-group: payment-links + /payment-links/{paymentLinkId}: + parameters: + - $ref: '#/components/parameters/parent-payment-link-id' + get: + summary: Get payment link + x-speakeasy-name-override: get + tags: + - Payment Links API + operationId: get-payment-link + security: + - apiKey: [] + - oAuth: + - payment-links.read + description: Retrieve a single payment link by its ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The payment link object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-link-response' + examples: + get-payment-link-200-1: + $ref: '#/components/examples/get-payment-link' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payment-links/pl_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $paymentLink = $mollie->send(new GetPaymentLinkRequest("pl_4Y0eZitmBnQ6IDoMqZQKh")); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const paymentLink = await mollieClient.paymentLinks.get('pl_4Y0eZitmBnQ6IDoMqZQKh'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + payment_link = mollie_client.payment_links.get("pl_4Y0eZitmBnQ6IDoMqZQKh") + - language: ruby + code: '' + x-speakeasy-group: payment-links + patch: + summary: Update payment link + x-speakeasy-name-override: update + tags: + - Payment Links API + operationId: update-payment-link + security: + - apiKey: [] + - oAuth: + - payment-links.write + description: Certain details of an existing payment link can be updated. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: |- + A short description of the payment link. The description is visible in the Dashboard and will be shown + on the customer's bank or card statement when possible. + + Updating the description does not affect any previously existing payments created for this payment link. + maxLength: 255 + example: Chess Board + minimumAmount: + $ref: '#/components/schemas/amount' + description: |- + The minimum amount of the payment link. This property is only allowed when there is no amount provided. + The customer will be prompted to enter a value greater than or equal to the minimum amount. + archived: + type: boolean + description: |- + Whether the payment link is archived. Customers will not be able to complete payments on archived + payment links. + example: false + allowedMethods: + $ref: '#/components/schemas/payment-link-methods' + lines: + type: + - array + - 'null' + description: |- + Optionally provide the order lines for the payment. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the payment. + + Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + items: + $ref: '#/components/schemas/payment-line-item' + billingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + shippingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's shipping address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + testmode: + $ref: '#/components/schemas/testmode' + responses: + '200': + description: The payment link object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-link-response' + examples: + update-payment-link-200-1: + summary: The payment link object + value: + resource: payment-link + id: pl_4Y0eZitmBnQ6IDoMqZQKh + mode: live + description: Bicycle tires + amount: + currency: EUR + value: '24.95' + archived: true + redirectUrl: https://webshop.example.org/thanks + webhookUrl: https://webshop.example.org/payment-links/webhook + profileId: pfl_QkEhN94Ba + createdAt: '2021-03-20T09:29:56.0Z' + paidAt: '2022-03-20T09:29:56.0Z' + expiresAt: '2023-06-06T11:00:00.0Z' + reusable: false + allowedMethods: + - creditcard + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/4Y0eZitmBnQ6IDoMqZQKh + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if no parameters are provided. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: At least one body parameter must be provided + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/payment-links/pl_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "description=Bicycle tires" \ + -d "minimumAmount[currency]=EUR" \ + -d "minimumAmount[value]=24.95" \ + -d "archived=true" \ + -d "allowedMethods[]=creditcard" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $paymentLink = $mollie->send(new UpdatePaymentLinkRequest( + "pl_4Y0eZitmBnQ6IDoMqZQKh", + description: "Bicycle tires", + archived: true, + allowedMethods: ["creditcard"] + )); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: payment-links + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Delete payment link + x-speakeasy-name-override: delete + tags: + - Payment Links API + operationId: delete-payment-link + security: + - apiKey: [] + - oAuth: + - payment-links.write + description: |- + Payment links which have not been opened and no payments have been made yet can be deleted entirely. + This can be useful for removing payment links that have been incorrectly configured or that are no longer relevant. + + Once deleted, the payment link will no longer show up in the API or Mollie dashboard. + + To simply disable a payment link without fully deleting it, you can use the `archived` parameter on the + [Update payment link](update-payment-link) endpoint instead. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if a payment already exists for this payment link. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: Payment link cannot be deleted. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/payment-links/pl_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send(new DeletePaymentLinkRequest("pl_4Y0eZitmBnQ6IDoMqZQKh")); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: payment-links + parameters: + - $ref: '#/components/parameters/idempotency-key' + /payment-links/{paymentLinkId}/payments: + parameters: + - $ref: '#/components/parameters/parent-payment-link-id' + get: + summary: Get payment link payments + x-speakeasy-name-override: list-payments + tags: + - Payment Links API + operationId: get-payment-link-payments + security: + - apiKey: [] + - oAuth: + - payment-links.read + description: |- + Retrieve the list of payments for a specific payment link. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/paymentToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payments: + description: An array of payment objects. + type: array + items: + $ref: '#/components/schemas/payment-response' + _links: + $ref: '#/components/schemas/list-links' + required: + - count + - _embedded + - _links + examples: + get-payment-link-payments-200-1: + summary: A list of payment objects + value: + count: 1 + _embedded: + payments: + - resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + status: open + isCancelable: false + sequenceType: oneoff + amount: + value: '75.00' + currency: GBP + description: 'Order #12345' + method: ideal + metadata: null + details: null + profileId: pfl_QkEhN94Ba + redirectUrl: https://webshop.example.org/order/12345/ + createdAt: '2024-02-12T11:58:35.0Z' + paidAt: '2024-02-12T12:00:00.0Z' + expiresAt: '2024-02-12T12:13:35.0Z' + reusable: false + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/issuer/select/ideal/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payment-links/pl_4Y0eZitmBnQ6IDoMqZQKh/payments?from=tr_SDkzMggpvx&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payment-links/pl_4Y0eZitmBnQ6IDoMqZQKh/payments \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: '' + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: payment-links + /terminals: + get: + summary: List terminals + x-speakeasy-name-override: list + tags: + - Terminals API + operationId: list-terminals + security: + - apiKey: [] + - oAuth: + - terminals.read + description: |- + Retrieve a list of all physical point-of-sale devices. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/terminalToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of terminal objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + terminals: + description: An array of terminal objects. + type: array + items: + $ref: '#/components/schemas/entity-terminal' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-terminals-200-1: + summary: A list of terminal objects + value: + count: 1 + _embedded: + terminals: + - resource: terminal + id: term_7MgL4wea46qkRcoTZjWEH + mode: live + status: active + brand: PAX + model: A920 + serialNumber: '1234567890' + currency: EUR + description: 'Terminal #12345' + profileId: pfl_QkEhN94Ba + createdAt: '2022-02-12T11:58:35.0Z' + updatedAt: '2022-02-12T11:58:35.0Z' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: null + documentation: + href: ... + type: text/html + list-terminals-200-2: + summary: List terminals for specific profile + x-request: ./requests.yaml#/oauth-list-terminals-for-specific-profile + value: + _embedded: + terminals: + - resource: terminal + id: term_5YQ8WDcA4UWB5bo7AfDZH + mode: live + profileId: pfl_zcfJRjkf6P + status: active + brand: PAX + model: A920 + serialNumber: '1851664277' + currency: EUR + description: Counter in store Amsterdam + createdAt: '2023-06-01T08:22:07+00:00' + updatedAt: '2023-06-01T08:36:25+00:00' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: terminal + id: term_fmA5H4CAMsAMZz8bPgzMH + mode: live + profileId: pfl_zcfJRjkf6P + status: active + brand: PAX + model: A920 + serialNumber: '1850009788' + currency: EUR + description: 'Terminal #12346' + createdAt: '2022-09-27T13:30:36+00:00' + updatedAt: '2022-09-27T13:37:27+00:00' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: terminal + id: term_2rfs4P5CfsEPaene6RgMH + mode: live + profileId: pfl_zcfJRjkf6P + status: active + brand: PAX + model: A920 + serialNumber: '1850009794' + currency: EUR + description: Mollie1 + createdAt: '2022-09-20T12:10:33+00:00' + updatedAt: '2022-11-14T10:49:06+00:00' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + count: 3 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/terminals \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $terminals = $mollie->send(new GetPaginatedTerminalsRequest(limit: 5)); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + terminals = mollie_client.terminals.list() + - language: ruby + code: '' + x-speakeasy-group: terminals + /terminals/{terminalId}: + parameters: + - $ref: '#/components/parameters/parent-terminal-id' + get: + summary: Get terminal + x-speakeasy-name-override: get + tags: + - Terminals API + operationId: get-terminal + security: + - apiKey: [] + - oAuth: + - terminals.read + description: Retrieve a single terminal by its ID. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The terminal object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-terminal' + examples: + get-terminal-200-1: + summary: The terminal object + value: + resource: terminal + id: term_7MgL4wea46qkRcoTZjWEH + mode: live + status: active + brand: PAX + model: A920 + serialNumber: '1234567890' + currency: EUR + description: 'Terminal #12345' + profileId: pfl_QkEhN94Ba + createdAt: '2022-02-12T11:58:35.0Z' + updatedAt: '2022-02-12T11:58:35.0Z' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/terminals/term_7MgL4wea46qkRcoTZjWEH \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $terminal = $mollie->send(new GetTerminalRequest(id: "term_7MgL4wea46qkRcoTZjWEH")); + - language: node + code: '' + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + terminal = mollie_client.terminals.get("term_7MgL4wea46qkRcoTZjWEH") + - language: ruby + code: '' + x-speakeasy-group: terminals + /payments/{paymentId}/routes: + parameters: + - $ref: '#/components/parameters/parent-payment-id' + post: + operationId: payment-create-route + summary: Create a delayed route + x-speakeasy-name-override: create + tags: + - Delayed Routing API + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Create a route for a specific payment. + The routed amount is credited to the account of your customer. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/route-create-request' + responses: + '201': + description: The route object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/route-create-response' + examples: + create-route-201-1: + summary: The newly created route object + value: + resource: route + id: crt_dyARQ3JzCgtPDhU2Pbq3J + paymentId: tr_sva3o24VKn + amount: + value: '10.00' + currency: EUR + description: 'Payment for Order #12345' + destination: + type: organization + organizationId: org_123 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/routes \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=5.95" \ + -d "description=Order #12345" + -d "destination[type]=organization" + -d "destination[organizationId]=org_123" + - language: php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $route = $mollie->send( + new CreateDelayedPaymentRouteRequest( + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo', + amount: new Money(currency: 'EUR', value: '5.95'), + destination: [ + 'type' => 'organization', + 'organizationId' => 'org_123' + ] + ) + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: delayed-routing + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + operationId: payment-list-routes + summary: List payment routes + x-speakeasy-name-override: list + tags: + - Delayed Routing API + security: + - apiKey: [] + - oAuth: + - payments.read + description: Retrieve a list of all routes created for a specific payment. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of route objects. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + routes: + description: An array of route objects. + type: array + items: + $ref: '#/components/schemas/route-get-response' + _links: + type: object + description: Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + description: The URL to the current set of items. + documentation: + $ref: '#/components/schemas/url' + examples: + list-routes-200-1: + summary: A list of route objects + value: + count: 3 + _embedded: + routes: + - resource: route + id: crt_kSq9CDTa6FzW7c6gpYq3J + paymentId: tr_sva3o24VKn + createdAt: '2024-05-22T15:11:19+02:00' + description: 'Payment for Order #12345' + amount: + value: '1.00' + currency: EUR + destination: + type: organization + organizationId: org_123 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: route + id: crt_dyARQ3JzCgtPDhU2Pbq3J + paymentId: tr_sva3o24VKn + createdAt: '2024-05-22T15:11:19+02:00' + description: 'Payment for Order #12346' + amount: + value: '2.00' + currency: EUR + destination: + type: organization + organizationId: org_456 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + - resource: route + id: crt_tntKsr6tffuVdqnEvhq3J + paymentId: tr_sva3o24VKn + createdAt: '2024-05-22T15:11:19+02:00' + description: 'Payment for Order #12347' + amount: + value: '3.00' + currency: EUR + destination: + type: organization + organizationId: org_789 + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/routes \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $routes = $mollie->send( + new ListPaymentRoutesRequest( + paymentId: 'tr_5B8cwPMGnU6qLbRvo7qEZo' + ) + ); + - language: node + code: '' + - language: python + code: '' + - language: ruby + code: '' + x-speakeasy-group: delayed-routing + /customers: + post: + summary: Create customer + x-speakeasy-name-override: create + tags: + - Customers API + operationId: create-customer + security: + - apiKey: [] + - oAuth: + - customers.write + description: |- + Creates a simple minimal representation of a customer. Payments, recurring mandates, and subscriptions can be linked + to this customer object, which simplifies management of recurring payments. + + Once registered, customers will also appear in your Mollie dashboard. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-customer' + responses: + '201': + description: The newly created customer object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/customer-response' + examples: + create-customer-201-1: + $ref: '#/components/examples/get-customer' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/customers \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "name=John Doe" \ + -d "email=customer@example.org" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $customer = $mollie->send(new CreateCustomerRequest( + name: "John Doe", + email: "customer@example.org" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const customer = await mollieClient.customers.create({ + name: 'John Doe', + email: 'customer@example.org' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.create({ + "name": "John Doe", + "email": "customer@example.org", + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.create( + name: 'John Doe', + email: 'customer@example.org' + ) + x-speakeasy-group: customers + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List customers + x-speakeasy-name-override: list + tags: + - Customers API + operationId: list-customers + security: + - apiKey: [] + - oAuth: + - customers.read + description: |- + Retrieve a list of all customers. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/customerToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of customer objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - customers + properties: + customers: + description: An array of customer objects. + type: array + items: + $ref: '#/components/schemas/customer-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-customers: + summary: A list of customer objects + value: + count: 1 + _embedded: + customers: + - resource: customer + id: cst_8wmqcHMN4U + mode: live + name: John Doe + email: customer@example.org + locale: nl_NL + metadata: null + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/customers/cst_tKt44u85MM + type: text/html + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/customers?from=cst_stTC2WHAuS&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $customers = $mollie->send(new GetPaginatedCustomerRequest()); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const customers = mollieClient.customers.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customers = mollie_client.customers.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customers = Mollie::Customer.all + x-speakeasy-group: customers + /customers/{customerId}: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + get: + summary: Get customer + x-speakeasy-name-override: get + tags: + - Customers API + operationId: get-customer + security: + - apiKey: [] + description: Retrieve a single customer by its ID. + parameters: + - $ref: '#/components/parameters/include' + description: This endpoint allows you to include additional information via the `include` query string parameter. + schema: + type: + - string + - 'null' + enum: + - events + x-enumDescriptions: + events: Include the events that the customer is associated with. + example: events + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The customer object. + content: + application/hal+json: + schema: + allOf: + - $ref: '#/components/schemas/customer-response' + - properties: + events: + type: array + items: + $ref: '#/components/schemas/entity-event' + readOnly: true + examples: + get-customer-200-1: + $ref: '#/components/examples/get-customer' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_8wmqcHMN4U \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $customer = $mollie->send(new GetCustomerRequest( + id: "cst_8wmqcHMN4U" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const customer = await mollieClient.customers.get('cst_8wmqcHMN4U'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_8wmqcHMN4U") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.get('cst_8wmqcHMN4U') + x-speakeasy-group: customers + patch: + summary: Update customer + x-speakeasy-name-override: update + tags: + - Customers API + operationId: update-customer + security: + - apiKey: [] + description: |- + Update an existing customer. + + For an in-depth explanation of each parameter, refer to the [Create customer](create-customer) endpoint. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-customer' + responses: + '200': + description: The updated customer object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/customer-response' + examples: + update-customer-200-1: + summary: The updated customer object + value: + resource: customer + id: cst_8wmqcHMN4U + mode: live + name: Jane Doe + email: jane@example.org + locale: nl_NL + metadata: null + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + dashboard: + href: ... + type: text/html + update-customer-200-2: + summary: Update customer's mail address + x-request: ./requests.yaml#/api-update-customers-mail-address + value: + resource: customer + id: cst_dTDjjbdSqm + mode: test + name: John Doe + email: test@mollie.com + locale: en_US + metadata: + someProperty: someValue + anotherProperty: anotherValue + createdAt: '2022-01-03T13:44:57+00:00' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/customers/cst_dTDjjbdSqm + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/customers/cst_8wmqcHMN4U \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "name=Jane Doe" \ + -d "email=jane@example.org" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $customer = $mollie->send(new UpdateCustomerRequest( + id: "cst_8wmqcHMN4U", + name: "Jane Doe", + email: "jane@example.org" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const customer = await mollieClient.customers.update('cst_8wmqcHMN4U', { + name: 'Jane Doe', + email: 'jane@example.org' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.update("cst_8wmqcHMN4U", { + "name": "Jane Doe", + "email": "jane@example.org" + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.update( + 'cst_8wmqcHMN4U', + name: 'Jane Doe', + email: 'jane@example.org' + ) + x-speakeasy-group: customers + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Delete customer + x-speakeasy-name-override: delete + tags: + - Customers API + operationId: delete-customer + security: + - apiKey: [] + description: Delete a customer. All mandates and subscriptions created for this customer will be canceled as well. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/customers/cst_8wmqcHMN4U \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send(new DeleteCustomerRequest( + id: "cst_8wmqcHMN4U" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const customer = await mollieClient.customers.delete('cst_8wmqcHMN4U'); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.delete("cst_8wmqcHMN4U") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.delete('cst_8wmqcHMN4U') + x-speakeasy-group: customers + parameters: + - $ref: '#/components/parameters/idempotency-key' + /customers/{customerId}/payments: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + post: + summary: Create customer payment + x-speakeasy-name-override: create-payment + tags: + - Customers API + operationId: create-customer-payment + security: + - apiKey: [] + - oAuth: + - payments.write + description: |- + Creates a payment for the customer. + + Linking customers to payments enables you to: + + * Keep track of payment preferences for your customers + * Allow your customers to charge a previously used credit card with a single click in our hosted checkout + * Improve payment insights in the Mollie dashboard + * Use recurring payments + + This endpoint is effectively an alias of the [Create payment endpoint](create-payment) with the `customerId` + parameter predefined. + requestBody: + $ref: '#/components/requestBodies/requestBody' + responses: + '201': + description: The newly created payment object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/payment-response' + examples: + create-payment-201-1: + $ref: '#/components/examples/get-payment' + create-payment-201-2: + summary: Minimum viable request + x-request: ./../_components/requests/common-payment-requests.yaml#/api-minimum-viable-request + value: + resource: payment + id: tr_KQb4E3WfpA + mode: test + createdAt: '2021-12-14T12:53:25+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-14T13:08:25+00:00' + profileId: pfl_fFdmWR2qQU + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/KQb4E3WfpA + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_9253561/payments/tr_KQb4E3WfpA + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-3: + summary: Dutch credit card payment with address + x-request: ./../_components/requests/common-payment-requests.yaml#/api-dutch-credit-card-payment-with-address + value: + resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-4: + summary: Protected Paypal payment + x-request: ./../_components/requests/common-payment-requests.yaml#/api-protected-paypal-payment + value: + resource: payment + id: tr_RyNpP6zd9t + mode: test + createdAt: '2022-01-14T14:49:45+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description Order ABS123 + method: paypal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-14T17:49:45+00:00' + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + details: + shippingAddress: + streetAndNumber: Keizersgracht 126 + postalCode: 5678AB + city: Haarlem + region: Noord-Holland + country: NL + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=paypal&token=3.ruux9k + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RyNpP6zd9t + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-5: + summary: iDeal payment with QR-code + x-request: ./../_components/requests/common-payment-requests.yaml#/api-ideal-payment-with-qr-code + value: + resource: payment + id: tr_hSW7aK9NJA + mode: test + createdAt: '2022-01-14T14:57:33+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description of the payment + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-14T15:12:33+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + details: + qrCode: + src: https://example.com/ideal-qr/qr/get/e9b52d78-9af9-4b4c-b7f7-f63499525d22 + width: 180 + height: 180 + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-issuer/ideal/hSW7aK9NJA + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_hSW7aK9NJA + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-6: + summary: First payment linked to customer (creates mandate) + x-request: ./../_components/requests/common-payment-requests.yaml#/api-first-payment-linked-to-customer-creates-mandate + value: + resource: payment + id: tr_NQCRf7VtKP + mode: test + createdAt: '2022-01-14T14:37:01+00:00' + amount: + value: '0.00' + currency: EUR + description: Direct debit charge as recuring payment + method: creditcard + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: open + isCancelable: false + expiresAt: '2022-01-14T14:54:01+00:00' + locale: en_US + profileId: pfl_85dxyKqNHa + customerId: cst_tKt44u85MM + mandateId: mdt_KmQnsDNkq2 + sequenceType: first + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.ivicl6 + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_NQCRf7VtKP + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/mandates/mdt_KmQnsDNkq2 + type: application/hal+json + documentation: + href: ... + type: text/html + create-payment-201-7: + summary: Recurring payment linked to customer + x-request: ./../_components/requests/common-payment-requests.yaml#/api-recurring-payment-linked-to-customer + value: + resource: payment + id: tr_DjH8FpPNj7 + mode: test + createdAt: '2022-01-04T12:44:39+00:00' + amount: + value: '20.00' + currency: EUR + description: Direct debit charge as recuring payment + method: directdebit + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: pending + isCancelable: true + locale: en_US + profileId: pfl_85dxyKqNHa + customerId: cst_tKt44u85MM + mandateId: mdt_uDPFVsxjR4 + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/webhook + settlementAmount: + value: '20.00' + currency: EUR + details: + transferReference: SD49-7608-3386-2993 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: Jane Doe + consumerAccount: NL55INGB0000000000 + consumerBic: INGBNL2A + dueDate: '2022-01-05' + signatureDate: '2022-01-04' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_DjH8FpPNj7 + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=directdebit&token=3.88ss2m + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/mandates/mdt_uDPFVsxjR4 + type: application/hal+json + documentation: + href: ... + type: text/html + create-payment-201-8: + summary: Card authorization with manual capture mode + x-request: ./../_components/requests/common-payment-requests.yaml#/api-card-authorization-with-manual-capture-mode + value: + resource: payment + id: tr_HnJygmFKY2 + mode: test + createdAt: '2023-06-05T12:56:30+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2023-06-05T13:11:30+00:00' + amountCaptured: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + captureMode: manual + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/credit-card/embedded/HnJygmFKY2 + type: text/html + dashboard: + href: https://my.mollie.com/dashboard/org_7049691/payments/tr_HnJygmFKY2 + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-9: + summary: Card authorization with delayed automatic capture + x-request: ./../_components/requests/common-payment-requests.yaml#/api-card-authorization-with-delayed-automatic-capture + value: + resource: payment + id: tr_EZLbsLBhYb + mode: test + createdAt: '2023-06-05T12:59:45+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2023-06-05T13:14:45+00:00' + amountCaptured: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + captureMode: automatic + captureDelay: 2 days + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/credit-card/embedded/EZLbsLBhYb + type: text/html + dashboard: + href: https://my.mollie.com/dashboard/org_7049691/payments/tr_EZLbsLBhYb + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-10: + summary: Create payment on submerchants profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-create-payment-on-submerchants-profile + value: + resource: payment + id: tr_95my2qPt3H + mode: test + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-11: + summary: Submerchant payment with application fee + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-submerchant-payment-with-application-fee + value: + resource: payment + id: tr_jDqwhKQVgW + mode: test + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + documentation: + href: ... + type: text/html + create-payment-201-12: + summary: Single-split payment (routing) + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-single-split-payment-routing + value: + resource: payment + id: tr_wuGFwxKB7g + mode: test + createdAt: '2022-01-21T11:16:15+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-21T11:31:15+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + routing: + - resource: route + id: rt_p70g7o9kj239d49rj4 + mode: test + amount: + value: '7.50' + currency: EUR + destination: + type: organization + organizationId: org_7049691 + createdAt: '2022-01-21T11:16:15+00:00' + _links: + self: + href: ... + type: application/hal+json + payment: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-issuer/ideal/wuGFwxKB7g + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_wuGFwxKB7g + type: text/html + routes: + href: https://api.mollie.com/v2/payments/tr_wuGFwxKB7g/routes?testmode=true + type: application/hal+json + documentation: + href: ... + type: text/html + '422': + description: |- + The request contains issues. For example, if a payment description is + missing, or if the specified amount is higher than the maximum allowed amount. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'description' field is missing + field: description + _links: + documentation: + href: ... + type: text/html + '503': + description: |- + The payment method supplier is currently unavailable. For example, if + you are setting up an iDEAL payment but the iDEAL network is having issues, we may return this error response. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 503 + title: Service Unavailable + detail: Payment platform for this payment method temporarily not available + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/customers/cst_8wmqcHMN4U/payments \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=10.00" \ + -d "description=Order #12345" \ + -d "redirectUrl=https://webshop.example.org/order/12345/" \ + -d "webhookUrl=https://webshop.example.org/payments/webhook/" \ + -d "metadata={\"order_id\": \"12345\"}" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payment = $mollie->send(new CreateCustomerPaymentRequest( + customerId: "cst_8wmqcHMN4U", + description: "Order #12345", + amount: new Money(currency: "EUR", value: "10.00"), + redirectUrl: "https://webshop.example.org/order/12345/", + webhookUrl: "https://webshop.example.org/payments/webhook/", + metadata: ["order_id" => "12345"] + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payment = await mollieClient.customerPayments.create({ + customerId: 'cst_8wmqcHMN4U', + amount: { + currency: 'EUR', + value: '10.00' + }, + description: 'Order #12345', + redirectUrl: 'https://webshop.example.org/order/12345/', + webhookUrl: 'https://webshop.example.org/payments/webhook/', + metadata: { + order_id: '12345' + } + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_8wmqcHMN4U") + payment = customer.payments.create({ + "amount": { + "currency": "EUR", + "value": "10.00", + }, + "description": "Order #12345", + "redirectUrl": "https://webshop.example.org/payments/webhook/", + "webhookUrl": "https://webshop.example.org/order/12345/", + "metadata": { + "order_id": "12345", + } + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payment = Mollie::Customer::Payment.create( + customer_id: 'cst_8wmqcHMN4U', + amount: { + currency: 'EUR', + value: '10.00' + }, + description: 'Order #12345', + redirect_url: 'https://webshop.example.org/order/12345/', + webhook_url: 'https://webshop.example.org/payments/webhook/', + metadata: { + order_id: '12345' + } + ) + x-speakeasy-group: customers + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List customer payments + x-speakeasy-name-override: list-payments + tags: + - Customers API + operationId: list-customer-payments + security: + - apiKey: [] + - oAuth: + - payments.read + description: Retrieve all payments linked to the customer. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate + the result set. + schema: + $ref: '#/components/schemas/paymentToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payments: + description: An array of payment objects. + type: array + items: + $ref: '#/components/schemas/payment-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-payments-200-1: + summary: A list of payment objects + value: + count: 1 + _embedded: + payments: + - resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + status: open + isCancelable: false + sequenceType: oneoff + amount: + value: '75.00' + currency: GBP + description: 'Order #12345' + method: ideal + metadata: null + details: null + profileId: pfl_QkEhN94Ba + redirectUrl: https://webshop.example.org/order/12345/ + createdAt: '2024-02-12T11:58:35.0Z' + expiresAt: '2024-02-12T12:13:35.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/issuer/select/ideal/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?from=tr_SDkzMggpvx&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-payments-200-2: + summary: Get 3 latest payments + x-request: ./../_components/requests/common-payment-requests.yaml#/api-get-3-latest-payments + value: + _embedded: + payments: + - resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + - resource: payment + id: tr_TNFzqz7jzb + mode: test + createdAt: '2021-12-29T13:38:26+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:55:26+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.nnw5dc + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_TNFzqz7jzb + type: text/html + - resource: payment + id: tr_h7uqbSUNbG + mode: test + createdAt: '2021-12-29T13:07:29+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-29T13:24:02+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_h7uqbSUNbG + type: text/html + - resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Updated payment description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-29T13:25:03+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + - resource: payment + id: tr_dFWesfS4F7 + mode: test + createdAt: '2021-12-23T08:25:22+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-23T08:42:02+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_dFWesfS4F7 + type: text/html + - resource: payment + id: tr_8N2vfqD9Q9 + mode: test + createdAt: '2021-12-22T08:48:38+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-22T09:06:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8N2vfqD9Q9 + type: text/html + - resource: payment + id: tr_nBs82Ujy7g + mode: test + createdAt: '2021-12-10T12:37:35+00:00' + amount: + value: '10.00' + currency: EUR + description: 'Payment for invoice number #000121' + method: ideal + metadata: + order_id: '4590962' + status: paid + paidAt: '2021-12-10T12:39:18+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://webshop.example.org/payment-links/redirectUrl + webhookUrl: https://webshop.example.org/payment-links/webhook + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL68RABO0638606673 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_nBs82Ujy7g + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.st50hq + type: text/html + - resource: payment + id: tr_6qh37hS3FF + mode: test + createdAt: '2021-12-08T16:02:20+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: paid + paidAt: '2021-12-08T16:04:10+00:00' + amountRefunded: + value: '10.00' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL55RABO0282361409 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_6qh37hS3FF + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.ee5j0m + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_6qh37hS3FF/refunds + type: application/hal+json + count: 8 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-payments-200-3: + summary: List payments for specific profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-list-payments-for-specific-profile + value: + _embedded: + payments: + - resource: payment + id: tr_jDqwhKQVgW + mode: live + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + - resource: payment + id: tr_95my2qPt3H + mode: live + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + - resource: payment + id: tr_ntnfCGP6mv + mode: live + createdAt: '2022-01-19T07:42:59+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-19T07:59:02+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ntnfCGP6mv + type: text/html + - resource: payment + id: tr_EdTCRdcfCs + mode: live + createdAt: '2022-01-18T15:16:07+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #136' + method: creditcard + metadata: + order_id: '136' + customer_id: null + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: Centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: failed + failedAt: '2022-01-18T15:16:30+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/pay/external/store/1001879680/order/136/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + details: + cardToken: tkn_t67GnF6USB + cardFingerprint: 3uzqSxyue3dDWJMHdPkBvfy6 + cardNumber: '9996' + cardHolder: Mollie + cardAudience: consumer + cardLabel: Visa + cardCountryCode: MU + cardSecurity: 3dsecure + failureReason: authentication_failed + failureMessage: 3-D Secure authenticatie is gefaald. + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_EdTCRdcfCs + type: text/html + - resource: payment + id: tr_8KwCUNMVJe + mode: live + createdAt: '2022-01-18T14:04:24+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #135' + method: creditcard + metadata: + order_id: '135' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:04:25+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_8KwCUNMVJe + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_8KwCUNMVJe/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_QcQPGvh9Du + mode: live + createdAt: '2022-01-18T14:03:08+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #134' + method: creditcard + metadata: + order_id: '134' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:03:10+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QcQPGvh9Du + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_QcQPGvh9Du/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_wk6m2eaWcB + mode: live + createdAt: '2022-01-18T14:00:44+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #133' + method: creditcard + metadata: + order_id: '133' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:01:27+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: first + redirectUrl: https://example.com/pay/external/store/1001879680/order/133/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_xtbTh68DMH + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_wk6m2eaWcB + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_wk6m2eaWcB/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_4nvqTDgb2V + mode: live + createdAt: '2022-01-17T16:06:27+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000376 + method: creditcard + metadata: null + status: expired + expiredAt: '2022-01-17T16:23:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + orderId: ord_5B8cwPMGnU6qLbRvo7qEZo + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=394&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4nvqTDgb2V + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + - resource: payment + id: tr_WSmqbH9dmk + mode: live + createdAt: '2022-01-17T16:01:41+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000375 + method: creditcard + metadata: null + status: paid + paidAt: '2022-01-17T16:02:19+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + mandateId: mdt_Ff284cNKht + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ1 + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=393&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_bnmP3THUuD + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_WSmqbH9dmk + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV/mandates/mdt_Ff284cNKht + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ1 + type: application/hal+json + - resource: payment + id: tr_QgUjvHbA8Q + mode: live + createdAt: '2022-01-14T11:27:53+00:00' + amount: + value: '1007.00' + currency: EUR + description: Order a036907f-6221-4611-a7ab-2725e1e80c2b + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-14T11:44:05+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ2 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=a036907f-6221-4611-a7ab-2725e1e80c2b + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QgUjvHbA8Q + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ2 + type: application/hal+json + - resource: payment + id: tr_ErjmfS5B86 + mode: live + createdAt: '2021-12-16T18:56:21+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000367' + method: ideal + metadata: + order_id: '385' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:13:00+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=385&payment_token=123utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ErjmfS5B86 + type: text/html + - resource: payment + id: tr_zegQDmfHp5 + mode: live + createdAt: '2021-12-16T18:54:22+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000366' + method: ideal + metadata: + order_id: '384' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:10:43+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=384&payment_token=123&utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zegQDmfHp5 + type: text/html + - resource: payment + id: tr_4jbEGjvw3C + mode: live + createdAt: '2021-12-15T16:07:37+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 462a4c86-bcf0-4e47-84c3-fd24fb6d907d + method: banktransfer + metadata: null + status: paid + paidAt: '2021-12-15T16:41:10+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ3 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=462a4c86-bcf0-4e47-84c3-fd24fb6d907d + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + settlementAmount: + value: '0.01' + currency: EUR + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF74-4500-4966-8489 + billingEmail: test@mollie.com + consumerName: AJ WALSH + consumerAccount: NL71ABNA0825509440 + consumerBic: ABNANL2AXXX + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4jbEGjvw3C + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ3 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.lkmvuw + type: text/html + - resource: payment + id: tr_zTnKhNvPUT + mode: live + createdAt: '2021-12-14T15:48:48+00:00' + amount: + value: '85.00' + currency: EUR + description: Order c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T15:50:08+00:00' + locale: en_US + countryCode: RS + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ4 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF18-6008-0499-7965 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zTnKhNvPUT + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ4 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.8bkxfw + type: text/html + - resource: payment + id: tr_ksNqVyqbab + mode: live + createdAt: '2021-12-14T15:24:16+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000365 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:42:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ5 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=383&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ksNqVyqbab + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ5 + type: application/hal+json + - resource: payment + id: tr_csHVQWJm3W + mode: live + createdAt: '2021-12-14T15:13:20+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000364 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:30:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ6 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=382&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_csHVQWJm3W + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ6 + type: application/hal+json + - resource: payment + id: tr_9C6FGvRBFN + mode: live + createdAt: '2021-12-14T15:11:40+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000363 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-14T15:11:52+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ7 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=381&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_J9bAGBpw9S + cardFingerprint: 2xWzgJFwNnC3kNE4WNTvrkfD + cardNumber: '4335' + cardHolder: Amanda Walsh + cardAudience: consumer + cardLabel: Visa + cardCountryCode: US + cardSecurity: 3dsecure + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9C6FGvRBFN + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ7 + type: application/hal+json + - resource: payment + id: tr_UxxzHS8sAW + mode: live + createdAt: '2021-12-14T14:41:55+00:00' + amount: + value: '7.50' + currency: EUR + description: Order 53c0b522-d15b-4209-96b7-25cf98bb4631 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T14:45:03+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ8 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=53c0b522-d15b-4209-96b7-25cf98bb4631 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF06-7000-7948-6191 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UxxzHS8sAW + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ8 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.ub14cw + type: text/html + - resource: payment + id: tr_HEsCwNjSwj + mode: live + createdAt: '2021-12-14T10:38:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:55:05+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + mandateId: mdt_d9HvU2evHH + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HEsCwNjSwj + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M/mandates/mdt_d9HvU2evHH + type: application/hal+json + - resource: payment + id: tr_7PR5ujgAf5 + mode: live + createdAt: '2021-12-14T10:37:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:54:02+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_7PR5ujgAf5 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + - resource: payment + id: tr_gHCKaEgz7A + mode: live + createdAt: '2021-12-13T13:08:59+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000362 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:25:03+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ9 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=380&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gHCKaEgz7A + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ9 + type: application/hal+json + - resource: payment + id: tr_UMtHEnx6rW + mode: live + createdAt: '2021-12-13T13:06:46+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000361 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T13:07:27+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZa + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=379&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_M7nNTAr6AC + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UMtHEnx6rW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZa + type: application/hal+json + - resource: payment + id: tr_KNdnVCzdfv + mode: live + createdAt: '2021-12-13T12:59:14+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000360 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:16:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZb + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=378&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KNdnVCzdfv + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZb + type: application/hal+json + - resource: payment + id: tr_pWMGnvESfx + mode: live + createdAt: '2021-12-13T12:56:11+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000359 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T12:57:33+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZc + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=377&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_NqHkEPJQcc + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pWMGnvESfx + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZc + type: application/hal+json + - resource: payment + id: tr_DdMxvERTUe + mode: live + createdAt: '2021-12-13T12:54:15+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000358 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:11:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZd + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=376&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DdMxvERTUe + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZd + type: application/hal+json + - resource: payment + id: tr_2yGeVFFBdW + mode: live + createdAt: '2021-12-09T12:18:20+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000357 + method: creditcard + metadata: null + status: canceled + canceledAt: '2021-12-09T12:19:26+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZe + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=375&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_2yGeVFFBdW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZe + type: application/hal+json + - resource: payment + id: tr_xb55QTpsVT + mode: live + createdAt: '2021-12-09T12:17:33+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000356 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:35:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZf + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=374&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_xb55QTpsVT + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZf + type: application/hal+json + - resource: payment + id: tr_5ygWQpgwBE + mode: live + createdAt: '2021-12-09T12:14:11+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000355 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:31:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZg + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=373&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_5ygWQpgwBE + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZg + type: application/hal+json + - resource: payment + id: tr_e8PGEKcS2h + mode: live + createdAt: '2021-12-09T12:11:19+00:00' + amount: + value: '22.00' + currency: EUR + description: Order 000000354 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:28:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZh + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=372&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_e8PGEKcS2h + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZh + type: application/hal+json + - resource: payment + id: tr_pubnh4PCd4 + mode: live + createdAt: '2021-12-09T12:03:42+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000353 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-09T12:04:22+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZi + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=371&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_VEGsUNt3uq + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pubnh4PCd4 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZi + type: application/hal+json + - resource: payment + id: tr_DPb2GgeB2B + mode: live + createdAt: '2021-12-08T08:38:08+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: directdebit + metadata: null + status: expired + expiredAt: '2021-12-08T08:54:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + details: + transferReference: SD03-5014-9920-7495 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: null + consumerAccount: null + consumerBic: null + dueDate: '2022-01-20' + bankReasonCode: null + bankReason: null + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DPb2GgeB2B + type: text/html + - resource: payment + id: tr_ydTSdxn8An + mode: live + createdAt: '2021-12-06T13:58:00+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:14:20+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/55 + webhookUrl: https://example.com/payments/55/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ydTSdxn8An + type: text/html + - resource: payment + id: tr_JK35Azc9cb + mode: live + createdAt: '2021-12-06T13:57:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:57:29+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/54 + webhookUrl: https://example.com/payments/54/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_JK35Azc9cb + type: text/html + - resource: payment + id: tr_sQSvH3pMPR + mode: live + createdAt: '2021-12-06T13:49:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:06:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/53 + webhookUrl: https://example.com/payments/53/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_sQSvH3pMPR + type: text/html + - resource: payment + id: tr_PFEKtRWTqN + mode: live + createdAt: '2021-12-06T13:40:30+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:57:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/52 + webhookUrl: https://example.com/payments/52/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_PFEKtRWTqN + type: text/html + - resource: payment + id: tr_tkf3hujUn5 + mode: live + createdAt: '2021-12-06T13:39:49+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:56:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/51 + webhookUrl: https://example.com/payments/51/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_tkf3hujUn5 + type: text/html + - resource: payment + id: tr_Kba2FsryW3 + mode: live + createdAt: '2021-12-06T13:25:52+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:42:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/50 + webhookUrl: https://example.com/payments/50/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_Kba2FsryW3 + type: text/html + - resource: payment + id: tr_RxA7KvSrtJ + mode: live + createdAt: '2021-12-06T13:19:46+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:19:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/49 + webhookUrl: https://example.com/payments/49/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RxA7KvSrtJ + type: text/html + - resource: payment + id: tr_MwSQRteNjB + mode: live + createdAt: '2021-12-06T13:02:31+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:02:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/48 + webhookUrl: https://example.com/payments/48/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_MwSQRteNjB + type: text/html + - resource: payment + id: tr_m257hQC5tk + mode: live + createdAt: '2021-12-06T12:55:53+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:56:35+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/47 + webhookUrl: https://example.com/payments/47/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_m257hQC5tk + type: text/html + - resource: payment + id: tr_eEPrW72gH3 + mode: live + createdAt: '2021-12-06T12:19:15+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:19:46+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/46 + webhookUrl: https://example.com/payments/46/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_eEPrW72gH3 + type: text/html + - resource: payment + id: tr_NwQjTuvhMW + mode: live + createdAt: '2021-12-06T12:17:04+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:33:09+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/45 + webhookUrl: https://example.com/payments/45/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_NwQjTuvhMW + type: text/html + - resource: payment + id: tr_HRMmGPqnmS + mode: live + createdAt: '2021-12-06T12:16:45+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:49+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/44 + webhookUrl: https://example.com/payments/44/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HRMmGPqnmS + type: text/html + - resource: payment + id: tr_B7B2cenDkC + mode: live + createdAt: '2021-12-06T12:16:44+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:53+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/43 + webhookUrl: https://example.com/payments/43/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_B7B2cenDkC + type: text/html + - resource: payment + id: tr_z5PREjDv5C + mode: live + createdAt: '2021-12-06T12:16:29+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: canceled + canceledAt: '2021-12-06T12:16:36+00:00' + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/42 + webhookUrl: https://example.com/payments/42/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_z5PREjDv5C + type: text/html + - resource: payment + id: tr_56nDe2G7NM + mode: live + createdAt: '2021-12-06T12:14:39+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:30:54+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/41 + webhookUrl: https://example.com/payments/41/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_56nDe2G7NM + type: text/html + - resource: payment + id: tr_9MyFrrbAS8 + mode: live + createdAt: '2021-12-06T12:13:54+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:14:20+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/40 + webhookUrl: https://example.com/payments/40/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9MyFrrbAS8 + type: text/html + - resource: payment + id: tr_KPgBxSyWfU + mode: live + createdAt: '2021-12-06T12:13:08+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:22+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/39 + webhookUrl: https://example.com/payments/39/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KPgBxSyWfU + type: text/html + - resource: payment + id: tr_9rwyrM6jcw + mode: live + createdAt: '2021-12-06T12:13:07+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:44+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/38 + webhookUrl: https://example.com/payments/38/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9rwyrM6jcw + type: text/html + - resource: payment + id: tr_gdE6pzp9Qs + mode: live + createdAt: '2021-12-06T12:12:37+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:28:55+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/37 + webhookUrl: https://example.com/payments/37/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gdE6pzp9Qs + type: text/html + count: 50 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?profileId=pfl_zcfJRjkf6P&from=tr_KBwM9rn7sm&limit=50 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_8wmqcHMN4U/payments \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payments = $mollie->send(new GetPaginatedCustomerPaymentsRequest( + customerId: "cst_8wmqcHMN4U" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const payments = mollieClient.customerPayments.iterate({ customerId: 'cst_8wmqcHMN4U' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_8wmqcHMN4U") + payments = customer.payments.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + payments = Mollie::Customer::Payment.all(customer_id: 'cst_8wmqcHMN4U') + x-speakeasy-group: customers + /customers/{customerId}/mandates: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + post: + summary: Create mandate + x-speakeasy-name-override: create + tags: + - Mandates API + operationId: create-mandate + security: + - apiKey: [] + - oAuth: + - mandates.write + description: |- + Create a mandate for a specific customer. Mandates allow you to charge a customer's card, PayPal account or bank + account recurrently. + + It is only possible to create mandates for IBANs and PayPal billing agreements with this endpoint. To create + mandates for cards, your customers need to perform a 'first payment' with their card. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/mandate-request' + responses: + '201': + description: The newly created mandate object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/mandate-response' + examples: + create-mandate-201-1: + $ref: '#/components/examples/get-mandate' + create-mandate-201-2: + summary: Create direct debit mandate for customer + x-request: ./requests.yaml#/api-create-direct-debit-mandate-for-customer + value: + resource: mandate + id: mdt_gDSN2rx3My + mode: test + status: valid + method: directdebit + details: + consumerName: Jane Doe + consumerAccount: NL55INGB0000000000 + consumerBic: INGBNL2A + customerId: cst_tKt44u85MM + mandateReference: YOUR-COMPANY-MD13804 + signatureDate: '2021-12-31' + createdAt: '2022-01-03T15:42:11+00:00' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/customers/cst_4qqhO89gsT/mandates \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "method=directdebit" \ + -d "consumerName=John Doe" \ + -d "consumerAccount=NL55INGB0000000000" \ + -d "consumerBic=INGBNL2A" \ + -d "signatureDate=2023-05-07" \ + -d "mandateReference=EXAMPLE-CORP-MD13804" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mandate = $mollie->send(new CreateMandateRequest( + customerId: "cst_4qqhO89gsT", + method: MandateMethod::DIRECTDEBIT, + consumerName: "John Doe", + consumerAccount: "NL55INGB0000000000", + consumerBic: "INGBNL2A", + signatureDate: "2023-05-07", + mandateReference: "EXAMPLE-CORP-MD13804" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const mandate = await mollieClient.customerMandates.create({ + customerId: 'cst_4qqhO89gsT', + method: 'directdebit', + consumerName: 'John Doe', + consumerAccount: 'NL55INGB0000000000', + consumerBic: 'INGBNL2A', + signatureDate: '2023-05-07', + mandateReference: 'EXAMPLE-CORP-MD13804' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_4qqhO89gsT") + mandate = customer.mandates.create({ + "method": "directdebit", + "consumerName": "John Doe", + "consumerAccount": "NL55INGB0000000000", + "consumerBic": "INGBNL2A", + "signatureDate": "2023-05-07", + "mandateReference": "EXAMPLE-CORP-MD13804", + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + mandate = Mollie::Customer::Mandate.create( + customer_id: 'cst_4qqhO89gsT', + method: 'directdebit', + consumer_name: 'John Doe', + consumer_account: 'NL55INGB0000000000', + consumer_bic: 'INGBNL2A', + signature_date: '2023-05-07', + mandate_reference: 'EXAMPLE-CORP-MD13804' + ) + x-speakeasy-group: mandates + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List mandates + x-speakeasy-name-override: list + tags: + - Mandates API + operationId: list-mandates + security: + - apiKey: [] + - oAuth: + - mandates.read + description: |- + Retrieve a list of all mandates. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/mandateToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of mandate objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + required: + - mandates + properties: + mandates: + description: An array of mandate objects. + type: array + items: + $ref: '#/components/schemas/mandate-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-mandates-200-1: + summary: A list of mandate objects + value: + count: 1 + _embedded: + mandates: + - resource: mandate + id: mdt_h3gAaD5zP + mode: live + status: valid + method: directdebit + details: {} + mandateReference: EXAMPLE-CORP-MD13804 + signatureDate: '2023-05-07' + customerId: cst_4qqhO89gsT + createdAt: '2023-05-07T10:49:08.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_4qqhO89gsT + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/mandates?from=mdt_pWUnw6pkBN&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_8wmqcHMN4U/mandates \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mandates = $mollie->send(new GetPaginatedMandateRequest( + customerId: "cst_4qqhO89gsT" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const mandates = mollieClient.customerMandates.iterate({ customerId: 'cst_4qqhO89gsT' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_4qqhO89gsT") + mandates = customer.mandates.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.get('cst_4qqhO89gsT') + mandates = customer.mandates + x-speakeasy-group: mandates + /customers/{customerId}/mandates/{mandateId}: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + - $ref: '#/components/parameters/parent-mandate-id' + get: + summary: Get mandate + x-speakeasy-name-override: get + tags: + - Mandates API + operationId: get-mandate + security: + - apiKey: [] + - oAuth: + - mandates.read + description: |- + Retrieve a single mandate by its ID. Depending on the type of mandate, the object will contain the customer's bank + account details, card details, or PayPal account details. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The mandate object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/mandate-response' + examples: + get-mandate-200-1: + $ref: '#/components/examples/get-mandate' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_4qqhO89gsT/mandates/mdt_h3gAaD5zP \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mandate = $mollie->send(new GetMandateRequest( + customerId: "cst_4qqhO89gsT", + mandateId: "mdt_h3gAaD5zP" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const mandate = await mollieClient.customerMandates.get('mdt_h3gAaD5zP', { + customerId: 'cst_4qqhO89gsT' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_4qqhO89gsT") + mandate = customer.mandates.get("mdt_h3gAaD5zP") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + mandate = Mollie::Customer::Mandate.get('mdt_h3gAaD5zP', customer_id: 'cst_4qqhO89gsT') + x-speakeasy-group: mandates + delete: + summary: Revoke mandate + x-speakeasy-name-override: revoke + tags: + - Mandates API + operationId: revoke-mandate + security: + - apiKey: [] + - oAuth: + - mandates.write + description: |- + Revoke a customer's mandate. You will no longer be able to charge the customer's bank account or card with this + mandate, and all connected subscriptions will be canceled. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/customers/cst_4qqhO89gsT/mandates/mdt_h3gAaD5zP \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $mollie->send(new RevokeMandateRequest( + customerId: "cst_4qqhO89gsT", + mandateId: "mdt_h3gAaD5zP" + )); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + await mollieClient.customerMandates.revoke('mdt_h3gAaD5zP', { + customerId: 'cst_4qqhO89gsT' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_4qqhO89gsT") + customer.mandates.delete("mdt_h3gAaD5zP") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + Mollie::Customer::Mandate.delete('mdt_h3gAaD5zP', customer_id: 'cst_4qqhO89gsT') + x-speakeasy-group: mandates + parameters: + - $ref: '#/components/parameters/idempotency-key' + /customers/{customerId}/subscriptions: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + post: + summary: Create subscription + x-speakeasy-name-override: create + tags: + - Subscriptions API + operationId: create-subscription + security: + - apiKey: [] + - oAuth: + - subscriptions.write + description: |- + With subscriptions, you can schedule recurring payments to take place at regular intervals. + + For example, by simply specifying an `amount` and an `interval`, you can create an endless subscription to charge a + monthly fee, until you cancel the subscription. + + Or, you could use the times parameter to only charge a limited number of times, for example to split a big + transaction in multiple parts. + + A few example usages: + + `amount[currency]="EUR"` `amount[value]="5.00"` `interval="2 weeks"` + Your customer will be charged €5 once every two weeks. + + `amount[currency]="EUR"` `amount[value]="20.00"` `interval="1 day" times=5` + Your customer will be charged €20 every day, for five consecutive days. + + `amount[currency]="EUR"` `amount[value]="10.00"` `interval="1 month"` + `startDate="2018-04-30"` + Your customer will be charged €10 on the last day of each month, starting in April 2018. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscription-request' + required: + - amount + - interval + - description + responses: + '201': + description: The newly created subscription object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/subscription-response' + examples: + get-subscription-200-1: + $ref: '#/components/examples/get-subscription' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=25.00" \ + -d "times=4" \ + -d "interval=3 months" \ + -d "startDate=2023-06-01" \ + -d "description=Quarterly payment" \ + -d "webhookUrl=https://webshop.example.org/subscriptions/webhook/" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscription = $mollie->send( + new CreateSubscriptionRequest( + customerId: "cst_stTC2WHAuS", + amount: new Money(currency: "EUR", value: "25.00"), + interval: "3 months", + description: "Quarterly payment", + times: 4, + startDate: "2023-06-01", + webhookUrl: "https://webshop.example.org/subscriptions/webhook/" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscription = await mollieClient.customerSubscriptions.create({ + customerId: 'cst_stTC2WHAuS', + amount: { + currency: 'EUR', + value: '25.00' + }, + times: 4, + interval: '3 months', + startDate: '2023-06-01', + description: 'Quarterly payment', + webhookUrl: 'https://webshop.example.org/subscriptions/webhook/' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + subscription = customer.subscriptions.create({ + "amount": { + "currency": "EUR", + "value": "25.00", + }, + "times": 4, + "interval": "3 months", + "startDate": "2023-06-01", + "description": "Quarterly payment", + "webhookUrl": "https://webshop.example.org/subscriptions/webhook/", + }) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + subscription = Mollie::Customer::Subscription.create( + customer_id: 'cst_stTC2WHAuS', + amount: { value: '25.00', currency: 'EUR' }, + times: 4, + interval: '3 months', + start_date: '2023-06-01', + description: 'Quarterly payment', + webhook_url: 'https://webshop.example.org/subscriptions/webhook/' + ) + x-speakeasy-group: subscriptions + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List customer subscriptions + x-speakeasy-name-override: list + tags: + - Subscriptions API + operationId: list-subscriptions + security: + - apiKey: [] + - oAuth: + - subscriptions.read + description: |- + Retrieve all subscriptions of a customer. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + schema: + $ref: '#/components/schemas/subscriptionToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of subscription objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + subscriptions: + description: An array of subscription objects. + type: array + items: + $ref: '#/components/schemas/subscription-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-subscriptions-200-1: + summary: A list of subscription objects + value: + count: 1 + _embedded: + subscriptions: + - resource: subscription + id: sub_rVKGtNd6s3 + mode: live + amount: + currency: EUR + value: '25.00' + times: 4 + timesRemaining: 4 + interval: 3 months + startDate: '2023-06-01' + nextPaymentDate: '2023-09-01' + description: Quarterly payment + metadata: null + method: null + status: active + webhookUrl: https://webshop.example.org/payments/webhook + customerId: cst_stTC2WHAuS + mandateId: mdt_38HS4fsS + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_stTC2WHAuS + type: application/hal+json + profile: + href: ... + type: text/html + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/subscriptions?from=sub_mnXbwhMfvo&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscriptions = $mollie->send( + new GetPaginatedSubscriptionsRequest( + customerId: "cst_stTC2WHAuS" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscriptions = await mollieClient.customerSubscriptions.all({ customerId: 'cst_stTC2WHAuS' }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + subscriptions = customer.subscriptions.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + customer = Mollie::Customer.get('cst_stTC2WHAuS') + subscriptions = customer.subscriptions + x-speakeasy-group: subscriptions + /customers/{customerId}/subscriptions/{subscriptionId}: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + - $ref: '#/components/parameters/parent-subscription-id' + get: + summary: Get subscription + x-speakeasy-name-override: get + tags: + - Subscriptions API + operationId: get-subscription + security: + - apiKey: [] + - oAuth: + - subscriptions.read + description: Retrieve a single subscription by its ID and the ID of its parent customer. + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: The subscription object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/subscription-response' + examples: + get-subscription-200-1: + $ref: '#/components/examples/get-subscription' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions/sub_rVKGtNd6s3 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscription = $mollie->send( + new GetSubscriptionRequest( + customerId: "cst_stTC2WHAuS", + id: "sub_rVKGtNd6s3" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscription = await mollieClient.customerSubscriptions.get('sub_rVKGtNd6s3', { + customerId: 'cst_stTC2WHAuS' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + subscription = customer.subscriptions.get("sub_rVKGtNd6s3") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + subscription = Mollie::Customer::Subscription.get( + 'sub_rVKGtNd6s3', + customer_id: 'cst_stTC2WHAuS' + ) + x-speakeasy-group: subscriptions + patch: + summary: Update subscription + x-speakeasy-name-override: update + tags: + - Subscriptions API + operationId: update-subscription + security: + - apiKey: [] + - oAuth: + - subscriptions.write + description: |- + Update an existing subscription. + + Canceled subscriptions cannot be updated. + + For an in-depth explanation of each parameter, refer to the [Create subscription](create-subscription) endpoint. + requestBody: + content: + application/json: + schema: + type: object + properties: + amount: + $ref: '#/components/schemas/amount' + description: Update the amount for future payments of this subscription. + description: + type: string + description: |- + The subscription's description will be used as the description of the resulting individual payments and so showing + up on the bank statement of the consumer. + + **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + example: Subscription of streaming channel + interval: + type: string + description: |- + Interval to wait between payments, for example `1 month` or `14 days`. + + The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). + + Possible values: `... days`, `... weeks`, `... months`. + example: 1 months + startDate: + type: string + description: The start date of the subscription in `YYYY-MM-DD` format. + example: '2025-01-01' + times: + type: integer + description: |- + Total number of payments for the subscription. Once this number of payments is reached, the subscription is + considered completed. + + Test mode subscriptions will get canceled automatically after 10 payments. + example: 6 + metadata: + $ref: '#/components/schemas/metadata' + description: |- + Provide any data you like, for example a string or a JSON object. We will save the data alongside the + entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to + approximately 1kB. + + Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + webhookUrl: + type: string + description: |- + We will call this URL for any payment status changes of payments resulting from this subscription. + + This webhook will receive **all** events for the subscription's payments. This may include payment + failures as well. Be sure to verify the payment's subscription ID and its status. + example: https://example.com/webhook + mandateId: + type: string + $ref: '#/components/schemas/mandateToken' + description: The mandate used for this subscription, if any. + testmode: + $ref: '#/components/schemas/testmode' + responses: + '200': + description: The updated subscription object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/subscription-response' + examples: + update-subscription-200-1: + summary: The updated subscription object + value: + resource: subscription + id: sub_rVKGtNd6s3 + mode: live + amount: + currency: EUR + value: '10.00' + times: 10 + timesRemaining: 10 + interval: 3 months + startDate: '2023-06-01' + nextPaymentDate: '2023-09-01' + description: Quarterly payment + metadata: null + method: null + status: active + webhookUrl: https://webshop.example.org/payments/webhook + customerId: cst_stTC2WHAuS + mandateId: mdt_38HS4fsS + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_stTC2WHAuS + type: application/hal+json + profile: + href: ... + type: text/html + documentation: + href: ... + type: text/html + update-subscription-200-2: + summary: Increase subscription amount + x-request: ./requests.yaml#/api-increase-subscription-amount + value: + resource: subscription + id: sub_hjytgQpbzu + customerId: cst_tKt44u85MM + mode: test + createdAt: '2022-01-04T10:04:55+00:00' + status: active + amount: + value: '12.00' + currency: EUR + description: This is a recurring payment for your subscription + method: null + times: 12 + timesRemaining: 11 + interval: 2 months + startDate: '2022-01-04' + webhookUrl: https://example.com/redirect + metadata: + someProperty: someValue + anotherProperty: anotherValue + nextPaymentDate: '2022-02-04' + mandateId: mdt_gDSN2rx3My + _links: + mandate: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/mandates/mdt_gDSN2rx3My + type: application/hal+json + self: + href: ... + type: application/hal+json + profile: + href: https://api.mollie.com/v2/profiles/pfl_85dxyKqNHa + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM + type: application/hal+json + payments: + href: https://api.mollie.com/v2/customers/cst_tKt44u85MM/subscriptions/sub_hjytgQpbzu/payments + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions/sub_rVKGtNd6s3 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "amount[currency]=EUR" \ + -d "amount[value]=10.00" \ + -d "times=10" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscription = $mollie->send( + new UpdateSubscriptionRequest( + customerId: "cst_stTC2WHAuS", + subscriptionId: "sub_rVKGtNd6s3", + amount: new Money(currency: "EUR", value: "10.00"), + times: 10 + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscription = await mollieClient.customerSubscriptions.update('sub_rVKGtNd6s3', { + customerId: 'cst_stTC2WHAuS', + amount: { + currency: 'EUR', + value: '10.00' + }, + times: 10 + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + subscription = customer.subscriptions.update( + "sub_rVKGtNd6s3", + { + "amount": { + "currency": "EUR", + "value": "10.00", + }, + "times": 10, + }, + ) + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + subscription = Mollie::Customer::Subscription.update( + 'sub_rVKGtNd6s3', + customer_id: 'cst_stTC2WHAuS', + amount: { value: '10.00', currency: 'EUR' }, + times: 10 + ) + x-speakeasy-group: subscriptions + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Cancel subscription + x-speakeasy-name-override: cancel + tags: + - Subscriptions API + operationId: cancel-subscription + security: + - apiKey: [] + - oAuth: + - subscriptions.write + description: Cancel an existing subscription. Canceling a subscription has no effect on the mandates of the customer. + requestBody: + content: + application/json: + schema: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + responses: + '200': + description: |- + The updated subscription object with status `canceled`. For a complete reference of the subscription object, + refer to the [Get subscription endpoint](get-subscription) documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/subscription-response' + examples: + cancel-subscription-200-1: + summary: The updated subscription object with status Canceled + value: + resource: subscription + id: sub_rVKGtNd6s3 + mode: live + amount: + currency: EUR + value: '25.00' + times: 4 + timesRemaining: 4 + interval: 3 months + startDate: '2023-06-01' + nextPaymentDate: null + description: Quarterly payment + metadata: null + method: null + status: canceled + webhookUrl: https://webshop.example.org/payments/webhook + customerId: cst_stTC2WHAuS + mandateId: mdt_38HS4fsS + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_stTC2WHAuS + type: application/hal+json + profile: + href: ... + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions/sub_rVKGtNd6s3 \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscription = $mollie->send( + new CancelSubscriptionRequest( + customerId: "cst_stTC2WHAuS", + subscriptionId: "sub_rVKGtNd6s3" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscription = mollieClient.customerSubscriptions.delete('sub_rVKGtNd6s3', { + customerId: 'cst_stTC2WHAuS', + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + customer.subscriptions.delete("sub_rVKGtNd6s3") + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + Mollie::Customer::Subscription.delete( + 'sub_rVKGtNd6s3', + customer_id: 'cst_stTC2WHAuS' + ) + x-speakeasy-group: subscriptions + parameters: + - $ref: '#/components/parameters/idempotency-key' + /subscriptions: + get: + summary: List all subscriptions + x-speakeasy-name-override: all + tags: + - Subscriptions API + operationId: list-all-subscriptions + security: + - apiKey: [] + - oAuth: + - subscriptions.read + description: |- + Retrieve all subscriptions initiated across all your customers. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: sub_rVKGtNd6s3 + - $ref: '#/components/parameters/list-limit' + - name: profileId + description: |- + The identifier referring to the [profile](get-profile) you wish to retrieve subscriptions for. + + Most API credentials are linked to a single profile. In these cases the `profileId` is already implied. + + To retrieve all subscriptions across the organization, use an organization-level API credential and omit the + `profileId` parameter. + in: query + schema: + type: + - string + - 'null' + example: pfl_QkEhN94Ba + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of subscription objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + subscriptions: + description: A list of subscription objects. + type: array + items: + $ref: '#/components/schemas/subscription-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-subscriptions-200-1: + summary: A list of subscription objects + value: + count: 1 + _embedded: + subscriptions: + - resource: subscription + id: sub_rVKGtNd6s3 + mode: live + amount: + currency: EUR + value: '25.00' + times: 4 + timesRemaining: 4 + interval: 3 months + startDate: '2023-06-01' + nextPaymentDate: '2023-09-01' + description: Quarterly payment + metadata: null + method: null + status: active + webhookUrl: https://webshop.example.org/payments/webhook + customerId: cst_stTC2WHAuS + mandateId: mdt_38HS4fsS + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_stTC2WHAuS + type: application/hal+json + profile: + href: ... + type: text/html + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/subscriptions?from=sub_mnXbwhMfvo&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + '400': + $ref: '#/components/responses/400-invalid-list-request' + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/subscriptions \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $subscriptions = $mollie->send( + new GetAllPaginatedSubscriptionsRequest() + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ apiKey: 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' }); + + const subscriptions = mollieClient.subscriptions.iterate(); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + subscriptions = mollie_client.subscriptions.list() + - language: ruby + code: |- + require 'mollie-api-ruby' + + Mollie::Client.configure do |config| + config.api_key = 'live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM' + end + + subscriptions = Mollie::Subscription.all + x-speakeasy-group: subscriptions + /customers/{customerId}/subscriptions/{subscriptionId}/payments: + parameters: + - $ref: '#/components/parameters/parent-customer-id' + - $ref: '#/components/parameters/parent-subscription-id' + get: + summary: List subscription payments + x-speakeasy-name-override: list-payments + tags: + - Subscriptions API + operationId: list-subscription-payments + security: + - apiKey: [] + - oAuth: + - subscriptions.read + - payments.read + description: |- + Retrieve all payments of a specific subscription. + + The results are paginated. + parameters: + - name: from + in: query + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate + the result set. + schema: + $ref: '#/components/schemas/paymentToken' + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/list-sort' + - $ref: '#/components/parameters/profile-id' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: A list of payment objects. + content: + application/hal+json: + schema: + type: object + required: + - count + - _embedded + - _links + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + payments: + description: An array of payment objects. + type: array + items: + $ref: '#/components/schemas/payment-response' + _links: + $ref: '#/components/schemas/list-links' + examples: + list-payments-200-1: + summary: A list of payment objects + value: + count: 1 + _embedded: + payments: + - resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + status: open + isCancelable: false + sequenceType: oneoff + amount: + value: '75.00' + currency: GBP + description: 'Order #12345' + method: ideal + metadata: null + details: null + profileId: pfl_QkEhN94Ba + redirectUrl: https://webshop.example.org/order/12345/ + createdAt: '2024-02-12T11:58:35.0Z' + expiresAt: '2024-02-12T12:13:35.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/issuer/select/ideal/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?from=tr_SDkzMggpvx&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + list-payments-200-2: + summary: Get 3 latest payments + x-request: ./../_components/requests/common-payment-requests.yaml#/api-get-3-latest-payments + value: + _embedded: + payments: + - resource: payment + id: tr_92M7kM99Rg + mode: test + createdAt: '2021-12-29T13:39:35+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:56:35+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.onk00c + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_92M7kM99Rg + type: text/html + - resource: payment + id: tr_TNFzqz7jzb + mode: test + createdAt: '2021-12-29T13:38:26+00:00' + amount: + value: '10.00' + currency: EUR + description: This is the description + method: creditcard + metadata: null + status: open + isCancelable: false + expiresAt: '2021-12-29T13:55:26+00:00' + locale: nl_NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com/redirect + webhookUrl: https://example.com/webhook + settlementAmount: + value: '10.00' + currency: EUR + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/test-mode?method=creditcard&token=3.nnw5dc + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_TNFzqz7jzb + type: text/html + - resource: payment + id: tr_h7uqbSUNbG + mode: test + createdAt: '2021-12-29T13:07:29+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-29T13:24:02+00:00' + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_h7uqbSUNbG + type: text/html + - resource: payment + id: tr_FE9UrEs9zU + mode: test + createdAt: '2021-12-29T13:01:35+00:00' + amount: + value: '10.00' + currency: EUR + description: Updated payment description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-29T13:25:03+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_FE9UrEs9zU + type: text/html + - resource: payment + id: tr_dFWesfS4F7 + mode: test + createdAt: '2021-12-23T08:25:22+00:00' + amount: + value: '10.00' + currency: EUR + description: Description + method: ideal + metadata: + someProperty: someValue + anotherProperty: anotherValue + status: expired + expiredAt: '2021-12-23T08:42:02+00:00' + locale: en_GB + restrictPaymentMethodsToCountry: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://example.com + webhookUrl: https://example.com/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_dFWesfS4F7 + type: text/html + - resource: payment + id: tr_8N2vfqD9Q9 + mode: test + createdAt: '2021-12-22T08:48:38+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-22T09:06:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_8N2vfqD9Q9 + type: text/html + - resource: payment + id: tr_nBs82Ujy7g + mode: test + createdAt: '2021-12-10T12:37:35+00:00' + amount: + value: '10.00' + currency: EUR + description: 'Payment for invoice number #000121' + method: ideal + metadata: + order_id: '4590962' + status: paid + paidAt: '2021-12-10T12:39:18+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '10.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://webshop.example.org/payment-links/redirectUrl + webhookUrl: https://webshop.example.org/payment-links/webhook + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL68RABO0638606673 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_nBs82Ujy7g + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.st50hq + type: text/html + - resource: payment + id: tr_6qh37hS3FF + mode: test + createdAt: '2021-12-08T16:02:20+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: paid + paidAt: '2021-12-08T16:04:10+00:00' + amountRefunded: + value: '10.00' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_85dxyKqNHa + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + settlementAmount: + value: '10.00' + currency: EUR + details: + consumerName: T. TEST + consumerAccount: NL55RABO0282361409 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/payments/tr_6qh37hS3FF + type: text/html + changePaymentState: + href: https://www.mollie.com/checkout/test-mode?method=ideal&token=3.ee5j0m + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_6qh37hS3FF/refunds + type: application/hal+json + count: 8 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: null + list-payments-200-3: + summary: List payments for specific profile + x-request: ./../_components/requests/common-payment-requests.yaml#/oauth-list-payments-for-specific-profile + value: + _embedded: + payments: + - resource: payment + id: tr_jDqwhKQVgW + mode: live + createdAt: '2022-01-19T13:28:30+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:43:30+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/jDqwhKQVgW + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_jDqwhKQVgW + type: text/html + - resource: payment + id: tr_95my2qPt3H + mode: live + createdAt: '2022-01-19T13:22:39+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: open + isCancelable: false + expiresAt: '2022-01-19T13:37:39+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/95my2qPt3H + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_95my2qPt3H + type: text/html + - resource: payment + id: tr_ntnfCGP6mv + mode: live + createdAt: '2022-01-19T07:42:59+00:00' + amount: + value: '10.00' + currency: EUR + description: I can do payments now + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-19T07:59:02+00:00' + profileId: pfl_zcfJRjkf6P + applicationFee: + amount: + value: '1.50' + currency: EUR + description: Platform free + sequenceType: oneoff + redirectUrl: https://example.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ntnfCGP6mv + type: text/html + - resource: payment + id: tr_EdTCRdcfCs + mode: live + createdAt: '2022-01-18T15:16:07+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #136' + method: creditcard + metadata: + order_id: '136' + customer_id: null + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: Centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: failed + failedAt: '2022-01-18T15:16:30+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/pay/external/store/1001879680/order/136/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + details: + cardToken: tkn_t67GnF6USB + cardFingerprint: 3uzqSxyue3dDWJMHdPkBvfy6 + cardNumber: '9996' + cardHolder: Mollie + cardAudience: consumer + cardLabel: Visa + cardCountryCode: MU + cardSecurity: 3dsecure + failureReason: authentication_failed + failureMessage: 3-D Secure authenticatie is gefaald. + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_EdTCRdcfCs + type: text/html + - resource: payment + id: tr_8KwCUNMVJe + mode: live + createdAt: '2022-01-18T14:04:24+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #135' + method: creditcard + metadata: + order_id: '135' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:04:25+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_8KwCUNMVJe + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_8KwCUNMVJe/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_QcQPGvh9Du + mode: live + createdAt: '2022-01-18T14:03:08+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #134' + method: creditcard + metadata: + order_id: '134' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:03:10+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: recurring + redirectUrl: null + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: normal + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QcQPGvh9Du + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_QcQPGvh9Du/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_wk6m2eaWcB + mode: live + createdAt: '2022-01-18T14:00:44+00:00' + amount: + value: '0.01' + currency: EUR + description: 'Mollie #133' + method: creditcard + metadata: + order_id: '133' + customer_id: '5' + billing_address: + first_name: Amanda + email: test@mollie.com + last_name: Walsh + city: Paris + state: centre + country: FR + country_code: FR + zip: '75007' + phone: 628351095 + address1: Champ de Mars, 5 Avenue Anatole France + address2: null + name: Amanda Walsh + state_code: null + phone_number: 628351095 + default_instrument: false + status: paid + paidAt: '2022-01-18T14:01:27+00:00' + amountRefunded: + value: '0.01' + currency: EUR + amountRemaining: + value: '0.00' + currency: EUR + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_77Ffsgn3ny + mandateId: mdt_DPRgAhbMDG + sequenceType: first + redirectUrl: https://example.com/pay/external/store/1001879680/order/133/provider/mollie/return + webhookUrl: https://example.com/api/public/v1/payments/stores/1001879680/providers/mollie/notifications?currency_code=EUR + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_xtbTh68DMH + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_wk6m2eaWcB + type: text/html + refunds: + href: https://api.mollie.com/v2/payments/tr_wk6m2eaWcB/refunds + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_77Ffsgn3ny/mandates/mdt_DPRgAhbMDG + type: application/hal+json + - resource: payment + id: tr_4nvqTDgb2V + mode: live + createdAt: '2022-01-17T16:06:27+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000376 + method: creditcard + metadata: null + status: expired + expiredAt: '2022-01-17T16:23:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + orderId: ord_5B8cwPMGnU6qLbRvo7qEZo + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=394&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4nvqTDgb2V + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + - resource: payment + id: tr_WSmqbH9dmk + mode: live + createdAt: '2022-01-17T16:01:41+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000375 + method: creditcard + metadata: null + status: paid + paidAt: '2022-01-17T16:02:19+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_uU9yQjJwHV + mandateId: mdt_Ff284cNKht + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ1 + sequenceType: first + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=393&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_bnmP3THUuD + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_WSmqbH9dmk + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uU9yQjJwHV/mandates/mdt_Ff284cNKht + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ1 + type: application/hal+json + - resource: payment + id: tr_QgUjvHbA8Q + mode: live + createdAt: '2022-01-14T11:27:53+00:00' + amount: + value: '1007.00' + currency: EUR + description: Order a036907f-6221-4611-a7ab-2725e1e80c2b + method: ideal + metadata: null + status: expired + expiredAt: '2022-01-14T11:44:05+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ2 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=a036907f-6221-4611-a7ab-2725e1e80c2b + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_QgUjvHbA8Q + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ2 + type: application/hal+json + - resource: payment + id: tr_ErjmfS5B86 + mode: live + createdAt: '2021-12-16T18:56:21+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000367' + method: ideal + metadata: + order_id: '385' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:13:00+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=385&payment_token=123utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ErjmfS5B86 + type: text/html + - resource: payment + id: tr_zegQDmfHp5 + mode: live + createdAt: '2021-12-16T18:54:22+00:00' + amount: + value: '59.00' + currency: EUR + description: '000000366' + method: ideal + metadata: + order_id: '384' + store_id: '1' + payment_token: 0G5kVTik8qigzB5DLXiuJsVOiH7ZbPpy + status: expired + expiredAt: '2021-12-16T19:10:43+00:00' + locale: nl_NL + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=384&payment_token=123&utm_nooverride=1 + webhookUrl: https://example.com/dev/mollie/checkout/webhook/?isAjax=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zegQDmfHp5 + type: text/html + - resource: payment + id: tr_4jbEGjvw3C + mode: live + createdAt: '2021-12-15T16:07:37+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 462a4c86-bcf0-4e47-84c3-fd24fb6d907d + method: banktransfer + metadata: null + status: paid + paidAt: '2021-12-15T16:41:10+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ3 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=462a4c86-bcf0-4e47-84c3-fd24fb6d907d + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + settlementAmount: + value: '0.01' + currency: EUR + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF74-4500-4966-8489 + billingEmail: test@mollie.com + consumerName: AJ WALSH + consumerAccount: NL71ABNA0825509440 + consumerBic: ABNANL2AXXX + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_4jbEGjvw3C + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ3 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.lkmvuw + type: text/html + - resource: payment + id: tr_zTnKhNvPUT + mode: live + createdAt: '2021-12-14T15:48:48+00:00' + amount: + value: '85.00' + currency: EUR + description: Order c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T15:50:08+00:00' + locale: en_US + countryCode: RS + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ4 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=c4cca02f-5ce2-4936-bbba-dc6ef1f1e3d9 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF18-6008-0499-7965 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_zTnKhNvPUT + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ4 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.8bkxfw + type: text/html + - resource: payment + id: tr_ksNqVyqbab + mode: live + createdAt: '2021-12-14T15:24:16+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000365 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:42:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ5 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=383&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ksNqVyqbab + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ5 + type: application/hal+json + - resource: payment + id: tr_csHVQWJm3W + mode: live + createdAt: '2021-12-14T15:13:20+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000364 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-14T15:30:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ6 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=382&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_csHVQWJm3W + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ6 + type: application/hal+json + - resource: payment + id: tr_9C6FGvRBFN + mode: live + createdAt: '2021-12-14T15:11:40+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000363 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-14T15:11:52+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ7 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=381&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_J9bAGBpw9S + cardFingerprint: 2xWzgJFwNnC3kNE4WNTvrkfD + cardNumber: '4335' + cardHolder: Amanda Walsh + cardAudience: consumer + cardLabel: Visa + cardCountryCode: US + cardSecurity: 3dsecure + feeRegion: other + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9C6FGvRBFN + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ7 + type: application/hal+json + - resource: payment + id: tr_UxxzHS8sAW + mode: live + createdAt: '2021-12-14T14:41:55+00:00' + amount: + value: '7.50' + currency: EUR + description: Order 53c0b522-d15b-4209-96b7-25cf98bb4631 + method: banktransfer + metadata: null + status: canceled + canceledAt: '2022-01-11T14:45:03+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ8 + sequenceType: oneoff + redirectUrl: https://example.com/redirect?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447&orderId=53c0b522-d15b-4209-96b7-25cf98bb4631 + webhookUrl: https://example.com/webhooks?wixMerchantId=d122df9a-ae27-42e2-94bc-d7ed17f9a447 + details: + bankName: Stichting Mollie Payments + bankAccount: NL70DEUT0265262313 + bankBic: DEUTNL2A + transferReference: RF06-7000-7948-6191 + billingEmail: test@mollie.com + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UxxzHS8sAW + type: text/html + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ8 + type: application/hal+json + status: + href: https://www.mollie.com/checkout/bank-transfer/status/3.ub14cw + type: text/html + - resource: payment + id: tr_HEsCwNjSwj + mode: live + createdAt: '2021-12-14T10:38:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:55:05+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + mandateId: mdt_d9HvU2evHH + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HEsCwNjSwj + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + mandate: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M/mandates/mdt_d9HvU2evHH + type: application/hal+json + - resource: payment + id: tr_7PR5ujgAf5 + mode: live + createdAt: '2021-12-14T10:37:32+00:00' + amount: + value: '10.00' + currency: EUR + description: My first payment + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-14T10:54:02+00:00' + profileId: pfl_zcfJRjkf6P + customerId: cst_uTrTNdhD5M + sequenceType: first + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_7PR5ujgAf5 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_uTrTNdhD5M + type: application/hal+json + - resource: payment + id: tr_gHCKaEgz7A + mode: live + createdAt: '2021-12-13T13:08:59+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000362 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:25:03+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZ9 + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=380&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gHCKaEgz7A + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZ9 + type: application/hal+json + - resource: payment + id: tr_UMtHEnx6rW + mode: live + createdAt: '2021-12-13T13:06:46+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000361 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T13:07:27+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZa + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=379&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_M7nNTAr6AC + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_UMtHEnx6rW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZa + type: application/hal+json + - resource: payment + id: tr_KNdnVCzdfv + mode: live + createdAt: '2021-12-13T12:59:14+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000360 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:16:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZb + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=378&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KNdnVCzdfv + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZb + type: application/hal+json + - resource: payment + id: tr_pWMGnvESfx + mode: live + createdAt: '2021-12-13T12:56:11+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000359 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-13T12:57:33+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZc + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=377&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_NqHkEPJQcc + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pWMGnvESfx + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZc + type: application/hal+json + - resource: payment + id: tr_DdMxvERTUe + mode: live + createdAt: '2021-12-13T12:54:15+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000358 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-13T13:11:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZd + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=376&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DdMxvERTUe + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZd + type: application/hal+json + - resource: payment + id: tr_2yGeVFFBdW + mode: live + createdAt: '2021-12-09T12:18:20+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000357 + method: creditcard + metadata: null + status: canceled + canceledAt: '2021-12-09T12:19:26+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZe + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=375&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_2yGeVFFBdW + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZe + type: application/hal+json + - resource: payment + id: tr_xb55QTpsVT + mode: live + createdAt: '2021-12-09T12:17:33+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000356 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:35:07+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZf + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=374&payment_token=123&utm_nooverride=1 + details: + cardSecurity: normal + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_xb55QTpsVT + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZf + type: application/hal+json + - resource: payment + id: tr_5ygWQpgwBE + mode: live + createdAt: '2021-12-09T12:14:11+00:00' + amount: + value: '45.00' + currency: EUR + description: Order 000000355 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:31:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZg + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=373&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_5ygWQpgwBE + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZg + type: application/hal+json + - resource: payment + id: tr_e8PGEKcS2h + mode: live + createdAt: '2021-12-09T12:11:19+00:00' + amount: + value: '22.00' + currency: EUR + description: Order 000000354 + method: creditcard + metadata: null + status: expired + expiredAt: '2021-12-09T12:28:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZh + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=372&payment_token=123&utm_nooverride=1 + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_e8PGEKcS2h + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZh + type: application/hal+json + - resource: payment + id: tr_pubnh4PCd4 + mode: live + createdAt: '2021-12-09T12:03:42+00:00' + amount: + value: '0.01' + currency: EUR + description: Order 000000353 + method: creditcard + metadata: null + status: paid + paidAt: '2021-12-09T12:04:22+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '0.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + customerId: cst_Fe48Wu9Eva + orderId: ord_5B8cwPMGnU6qLbRvo7qEZi + sequenceType: oneoff + redirectUrl: https://example.com/dev/mollie/checkout/process/?order_id=371&payment_token=123&utm_nooverride=1 + settlementAmount: + value: '0.01' + currency: EUR + details: + cardToken: tkn_VEGsUNt3uq + cardFingerprint: BN895ync4krH6kr9TBhstfhh + cardNumber: '9267' + cardHolder: A.J. Walsh + cardAudience: consumer + cardLabel: Mastercard + cardCountryCode: NL + cardSecurity: 3dsecure + feeRegion: intra-eu + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_pubnh4PCd4 + type: text/html + customer: + href: https://api.mollie.com/v2/customers/cst_Fe48Wu9Eva + type: application/hal+json + order: + href: https://api.mollie.com/v2/orders/ord_5B8cwPMGnU6qLbRvo7qEZi + type: application/hal+json + - resource: payment + id: tr_DPb2GgeB2B + mode: live + createdAt: '2021-12-08T08:38:08+00:00' + amount: + value: '10.00' + currency: EUR + description: My first routed payment + method: directdebit + metadata: null + status: expired + expiredAt: '2021-12-08T08:54:02+00:00' + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: https://www.mollie.com/en + webhookUrl: https://www.mollie.com/en + details: + transferReference: SD03-5014-9920-7495 + creditorIdentifier: NL08ZZZ502057730000 + consumerName: null + consumerAccount: null + consumerBic: null + dueDate: '2022-01-20' + bankReasonCode: null + bankReason: null + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_DPb2GgeB2B + type: text/html + - resource: payment + id: tr_ydTSdxn8An + mode: live + createdAt: '2021-12-06T13:58:00+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:14:20+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/55 + webhookUrl: https://example.com/payments/55/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_ydTSdxn8An + type: text/html + - resource: payment + id: tr_JK35Azc9cb + mode: live + createdAt: '2021-12-06T13:57:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:57:29+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + locale: en_US + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/54 + webhookUrl: https://example.com/payments/54/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_JK35Azc9cb + type: text/html + - resource: payment + id: tr_sQSvH3pMPR + mode: live + createdAt: '2021-12-06T13:49:12+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T14:06:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/53 + webhookUrl: https://example.com/payments/53/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_sQSvH3pMPR + type: text/html + - resource: payment + id: tr_PFEKtRWTqN + mode: live + createdAt: '2021-12-06T13:40:30+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:57:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/52 + webhookUrl: https://example.com/payments/52/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_PFEKtRWTqN + type: text/html + - resource: payment + id: tr_tkf3hujUn5 + mode: live + createdAt: '2021-12-06T13:39:49+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:56:02+00:00' + locale: en_US + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/51 + webhookUrl: https://example.com/payments/51/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_tkf3hujUn5 + type: text/html + - resource: payment + id: tr_Kba2FsryW3 + mode: live + createdAt: '2021-12-06T13:25:52+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T13:42:02+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/50 + webhookUrl: https://example.com/payments/50/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_Kba2FsryW3 + type: text/html + - resource: payment + id: tr_RxA7KvSrtJ + mode: live + createdAt: '2021-12-06T13:19:46+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:19:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/49 + webhookUrl: https://example.com/payments/49/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_RxA7KvSrtJ + type: text/html + - resource: payment + id: tr_MwSQRteNjB + mode: live + createdAt: '2021-12-06T13:02:31+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T13:02:58+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/48 + webhookUrl: https://example.com/payments/48/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_MwSQRteNjB + type: text/html + - resource: payment + id: tr_m257hQC5tk + mode: live + createdAt: '2021-12-06T12:55:53+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:56:35+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/47 + webhookUrl: https://example.com/payments/47/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_m257hQC5tk + type: text/html + - resource: payment + id: tr_eEPrW72gH3 + mode: live + createdAt: '2021-12-06T12:19:15+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:19:46+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/46 + webhookUrl: https://example.com/payments/46/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_eEPrW72gH3 + type: text/html + - resource: payment + id: tr_NwQjTuvhMW + mode: live + createdAt: '2021-12-06T12:17:04+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:33:09+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/45 + webhookUrl: https://example.com/payments/45/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_NwQjTuvhMW + type: text/html + - resource: payment + id: tr_HRMmGPqnmS + mode: live + createdAt: '2021-12-06T12:16:45+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:49+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/44 + webhookUrl: https://example.com/payments/44/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_HRMmGPqnmS + type: text/html + - resource: payment + id: tr_B7B2cenDkC + mode: live + createdAt: '2021-12-06T12:16:44+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:32:53+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/43 + webhookUrl: https://example.com/payments/43/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_B7B2cenDkC + type: text/html + - resource: payment + id: tr_z5PREjDv5C + mode: live + createdAt: '2021-12-06T12:16:29+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: canceled + canceledAt: '2021-12-06T12:16:36+00:00' + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/42 + webhookUrl: https://example.com/payments/42/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_z5PREjDv5C + type: text/html + - resource: payment + id: tr_56nDe2G7NM + mode: live + createdAt: '2021-12-06T12:14:39+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:30:54+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/41 + webhookUrl: https://example.com/payments/41/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_56nDe2G7NM + type: text/html + - resource: payment + id: tr_9MyFrrbAS8 + mode: live + createdAt: '2021-12-06T12:13:54+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: paid + paidAt: '2021-12-06T12:14:20+00:00' + amountRefunded: + value: '0.00' + currency: EUR + amountRemaining: + value: '25.01' + currency: EUR + countryCode: NL + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/40 + webhookUrl: https://example.com/payments/40/webhook + settlementAmount: + value: '0.01' + currency: EUR + details: + consumerName: L.E. Kok + consumerAccount: NL04RABO0148504558 + consumerBic: RABONL2U + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9MyFrrbAS8 + type: text/html + - resource: payment + id: tr_KPgBxSyWfU + mode: live + createdAt: '2021-12-06T12:13:08+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:22+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/39 + webhookUrl: https://example.com/payments/39/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_KPgBxSyWfU + type: text/html + - resource: payment + id: tr_9rwyrM6jcw + mode: live + createdAt: '2021-12-06T12:13:07+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:29:44+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/38 + webhookUrl: https://example.com/payments/38/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_9rwyrM6jcw + type: text/html + - resource: payment + id: tr_gdE6pzp9Qs + mode: live + createdAt: '2021-12-06T12:12:37+00:00' + amount: + value: '0.01' + currency: EUR + description: TEST Webuildapps - Mollie example + method: ideal + metadata: null + status: expired + expiredAt: '2021-12-06T12:28:55+00:00' + profileId: pfl_zcfJRjkf6P + sequenceType: oneoff + redirectUrl: mollie-checkout://payments/37 + webhookUrl: https://example.com/payments/37/webhook + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/payments/tr_gdE6pzp9Qs + type: text/html + count: 50 + _links: + documentation: + href: ... + type: text/html + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments?profileId=pfl_zcfJRjkf6P&from=tr_KBwM9rn7sm&limit=50 + type: application/hal+json + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/customers/cst_stTC2WHAuS/subscriptions/sub_8JfGzs6v3K/payments \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + code: |- + setApiKey("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"); + + $payments = $mollie->send( + new GetPaginatedSubscriptionPaymentsRequest( + customerId: "cst_stTC2WHAuS", + subscriptionId: "sub_8JfGzs6v3K" + ) + ); + - language: node + code: |- + const { createMollieClient } = require('@mollie/api-client'); + const mollieClient = createMollieClient({ accessToken: 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ' }); + + const settlement = await mollieClient.subscriptionPayments.iterate({ + customerId: 'cst_stTC2WHAuS', + subscriptionId: 'sub_8JfGzs6v3K' + }); + - language: python + code: |- + from mollie.api.client import Client + + mollie_client = Client() + mollie_client.set_api_key("live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM") + + customer = mollie_client.customers.get("cst_stTC2WHAuS") + subscription = customer.subscriptions.get("sub_8JfGzs6v3K") + payments = subscription.payments.list() + - language: ruby + code: '' + x-speakeasy-group: subscriptions + /sales-invoices: + post: + summary: Create sales invoice + x-speakeasy-name-override: create + tags: + - Sales Invoices API + operationId: create-sales-invoice + security: + - apiKey: [] + - oAuth: + - sales-invoices.write + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + With the Sales Invoice API you can generate sales invoices to send to your customers. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/entity-sales-invoice' + required: + - status + - recipientIdentifier + - recipient + - lines + responses: + '201': + description: |- + The newly created invoice object. For a complete reference of the invoice object, refer to the + [Get sales invoice endpoint](get-sales-invoice) documentation. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-sales-invoice-response' + example: + resource: sales-invoice + id: invoice_4Y0eZitmBnQ6IDoMqZQKh + mode: live + profileId: pfl_QkEhN94Ba + currency: EUR + status: draft + vatScheme: standard + paymentTerm: 30 days + recipientIdentifier: '123532354' + recipient: + type: consumer + givenName: Given + familyName: Family + email: given.family@mollie.com + streetAndNumber: Street 1 + postalCode: 1000 AA + city: Amsterdam + country: NL + locale: nl_NL + lines: + - description: LEGO 4440 Forest Police Station + quantity: 1 + vatRate: '21.00' + unitPrice: + value: '89.00' + currency: EUR + amountDue: + value: '107.69' + currency: EUR + subtotalAmount: + value: '89.00' + currency: EUR + totalAmount: + value: '107.69' + currency: EUR + totalVatAmount: + value: '18.69' + currency: EUR + discountedSubtotalAmount: + value: '89.00' + currency: EUR + createdAt: '2024-10-03T10:47:38+00:00' + _links: + self: + href: ... + type: application/hal+json + invoicePayment: + href: ... + type: application/hal+json + pdfLink: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the invoice currency is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: Field 'status' must be provided + field: status + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X POST https://api.mollie.com/v2/sales-invoices \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "profileId=pfl_QkEhN94Ba" \ + -d "currency=EUR" \ + -d "paymentTerm=30 days" \ + -d "status=draft" \ + -d "recipientIdentifier=customer-12354123" \ + -d "recipient[type]=consumer" \ + -d "recipient[givenName]=Given" \ + -d "recipient[familyName]=Family" \ + -d "recipient[email]=given.family@mollie.com" \ + -d "recipient[postalCode]=1000 AA" \ + -d "recipient[streetAndNumber]=Street 1" \ + -d "recipient[city]=Amsterdam" \ + -d "recipient[country]=nl" \ + -d "recipient[locale]=nl_NL" \ + -d "lines[0][description]=Product number 1" \ + -d "lines[0][quantity]=1" \ + -d "lines[0][vatRate]=21.00" \ + -d "lines[0][unitPrice][currency]=EUR" \ + -d "lines[0][unitPrice][value]=12.50" + - language: php + install: composer require mollie/mollie-api-php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $recipient = new Recipient( + type: RecipientType::CONSUMER, + email: 'given.family@mollie.com', + streetAndNumber: 'Street 1', + postalCode: '1000 AA', + city: 'Amsterdam', + country: 'NL', + locale: 'nl_NL', + givenName: 'Given', + familyName: 'Family' + ); + + $invoiceLines = new DataCollection([ + new InvoiceLine( + description: 'Product number 1', + quantity: 1, + vatRate: '21.00', + unitPrice: new Money(currency: 'EUR', value: '12.50') + ) + ]); + + $request = new CreateSalesInvoiceRequest( + currency: 'EUR', + status: SalesInvoiceStatus::DRAFT, + vatScheme: VatScheme::STANDARD, + vatMode: VatMode::INCLUSIVE, + paymentTerm: PaymentTerm::DAYS_30, + recipientIdentifier: 'customer-12354123', + recipient: $recipient, + lines: $invoiceLines, + profileId: 'pfl_QkEhN94Ba', + ); + + $salesInvoice = $mollie->send($request); + - language: node + install: npm install @mollie/api-client + code: |- + # We don't have a Node.js code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: python + install: pip install mollie-api-python + code: |- + # We don't have a Python code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: ruby + install: gem install mollie-api-ruby + code: |- + # We don't have a Ruby code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + x-speakeasy-group: sales-invoices + parameters: + - $ref: '#/components/parameters/idempotency-key' + get: + summary: List sales invoices + x-speakeasy-name-override: list + tags: + - Sales Invoices API + operationId: list-sales-invoices + security: + - apiKey: [] + - oAuth: + - sales-invoices.read + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + Retrieve a list of all sales invoices created through the API. + + The results are paginated. + parameters: + - $ref: '#/components/parameters/list-from' + schema: + type: string + example: invoice_4Y0eZitmBnQ6IDoMqZQKh + - $ref: '#/components/parameters/list-limit' + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + responses: + '200': + description: |- + A list of sales invoice objects. For a complete reference of the sales invoice object, refer to the + [Get sales invoice endpoint](get-sales-invoice) documentation. + content: + application/hal+json: + schema: + type: object + properties: + count: + $ref: '#/components/schemas/list-count' + _embedded: + type: object + properties: + sales_invoices: + description: |- + An array of sales invoice objects. For a complete reference of the sales invoice object, refer to + the [Get sales invoice endpoint](get-sales-invoice) documentation. + type: array + items: + $ref: '#/components/schemas/entity-sales-invoice-response' + _links: + $ref: '#/components/schemas/list-links' + writeOnly: false + readOnly: true + example: + count: 1 + _embedded: + sales_invoices: + - resource: sales-invoice + id: invoice_4Y0eZitmBnQ6IDoMqZQKh + mode: live + profileId: pfl_QkEhN94Ba + currency: EUR + status: draft + vatScheme: standard + paymentTerm: 30 days + recipientIdentifier: '123532354' + lines: + - description: LEGO 4440 Forest Police Station + quantity: 1 + vatRate: '21.00' + unitPrice: + value: '89.00' + currency: EUR + amountDue: + value: '107.69' + currency: EUR + subtotalAmount: + value: '89.00' + currency: EUR + totalAmount: + value: '107.69' + currency: EUR + totalVatAmount: + value: '18.69' + currency: EUR + discountedSubtotalAmount: + value: '89.00' + currency: EUR + createdAt: '2024-10-03T10:47:38+00:00' + _links: + self: + href: ... + type: application/hal+json + next: + href: https://api.mollie.com/v2/sales/invoices?from=invoice_4yUfQpbKnd2DUTouUdUwH&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + previous: null + '400': + $ref: '#/components/responses/400-invalid-list-request' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/sales-invoices \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + install: composer require mollie/mollie-api-php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $request = new GetPaginatedSalesInvoicesRequest(); + + $salesInvoices = $mollie->send($request); + - language: node + install: npm install @mollie/api-client + code: |- + # We don't have a Node.js code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: python + install: pip install mollie-api-python + code: |- + # We don't have a Python code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: ruby + install: gem install mollie-api-ruby + code: |- + # We don't have a Ruby code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + x-speakeasy-group: sales-invoices + /sales-invoices/{id}: + parameters: + - $ref: '#/components/parameters/id' + schema: + type: string + example: invoice_4Y0eZitmBnQ6IDoMqZQKh + get: + summary: Get sales invoice + x-speakeasy-name-override: get + tags: + - Sales Invoices API + operationId: get-sales-invoice + security: + - apiKey: [] + - oAuth: + - sales-invoice.read + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + Retrieve a single sales invoice by its ID. + responses: + '200': + description: The Sales Invoice object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-sales-invoice-response' + example: + resource: sales-invoice + id: invoice_4Y0eZitmBnQ6IDoMqZQKh + mode: live + profileId: pfl_QkEhN94Ba + currency: EUR + status: draft + vatScheme: standard + paymentTerm: 30 days + recipientIdentifier: '123532354' + recipient: + type: consumer + givenName: Given + familyName: Family + email: given.family@mollie.com + streetAndNumber: Street 1 + postalCode: 1000 AA + city: Amsterdam + country: NL + locale: nl_NL + lines: + - description: LEGO 4440 Forest Police Station + quantity: 1 + vatRate: '21.00' + unitPrice: + value: '89.00' + currency: EUR + amountDue: + value: '107.69' + currency: EUR + subtotalAmount: + value: '89.00' + currency: EUR + totalAmount: + value: '107.69' + currency: EUR + totalVatAmount: + value: '18.69' + currency: EUR + discountedSubtotalAmount: + value: '89.00' + currency: EUR + createdAt: '2024-10-03T10:47:38+00:00' + _links: + self: + href: ... + type: application/hal+json + invoicePayment: + href: ... + type: application/hal+json + pdfLink: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + x-readme: + code-samples: + - language: shell + code: |- + curl -X GET https://api.mollie.com/v2/sales-invoices/invoice_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + install: composer require mollie/mollie-api-php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $request = new GetSalesInvoiceRequest('invoice_4Y0eZitmBnQ6IDoMqZQKh'); + + $salesInvoice = $mollie->send($request); + - language: node + install: npm install @mollie/api-client + code: |- + # We don't have a Node.js code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: python + install: pip install mollie-api-python + code: |- + # We don't have a Python code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + - language: ruby + install: gem install mollie-api-ruby + code: |- + # We don't have a Ruby code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + parameters: + - $ref: '#/components/parameters/testmode' + - $ref: '#/components/parameters/idempotency-key' + x-speakeasy-group: sales-invoices + patch: + summary: Update sales invoice + x-speakeasy-name-override: update + tags: + - Sales Invoices API + operationId: update-sales-invoice + security: + - apiKey: [] + - oAuth: + - sales-invoices.write + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + Certain details of an existing sales invoice can be updated. For `draft` it is all values listed below, but for + statuses `paid` and `issued` there are certain additional requirements (`paymentDetails` and `emailDetails`, + respectively). + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/update-values-sales-invoice' + responses: + '200': + description: The sales invoice object. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/entity-sales-invoice-response' + example: + resource: sales-invoice + id: invoice_4Y0eZitmBnQ6IDoMqZQKh + mode: live + profileId: pfl_QkEhN94Ba + currency: EUR + status: draft + vatScheme: standard + paymentTerm: 30 days + recipientIdentifier: '123532354' + recipient: + type: consumer + givenName: Given + familyName: Family + email: given.family@mollie.com + streetAndNumber: Street 1 + postalCode: 1000 AA + city: Amsterdam + country: NL + locale: nl_NL + lines: + - description: LEGO 4440 Forest Police Station + quantity: 1 + vatRate: '21.00' + unitPrice: + value: '89.00' + currency: EUR + amountDue: + value: '107.69' + currency: EUR + subtotalAmount: + value: '89.00' + currency: EUR + totalAmount: + value: '107.69' + currency: EUR + totalVatAmount: + value: '18.69' + currency: EUR + discountedSubtotalAmount: + value: '89.00' + currency: EUR + createdAt: '2024-10-03T10:47:38+00:00' + _links: + self: + href: ... + type: application/hal+json + invoicePayment: + href: ... + type: text/html + pdfLink: + href: ... + type: text/html + documentation: + href: ... + type: text/html + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if no parameters are provided. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: 'Field ''paymentTerm'' must be one of the following: ...' + field: paymentTerm + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X PATCH https://api.mollie.com/v2/sales-invoices/invoice_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \ + -d "paymentTerm=14 days" + - language: php + install: composer require mollie/mollie-api-php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $request = new UpdateSalesInvoiceRequest( + id: 'invoice_4Y0eZitmBnQ6IDoMqZQKh', + status: SalesInvoiceStatus::DRAFT, + recipientIdentifier: 'customer-12354123', + paymentTerm: PaymentTerm::DAYS_14, + ); + + $salesInvoice = $mollie->send($request); + - language: node + install: npm install @mollie/api-client + code: |- + /* + We don't have a Node.js code example for this + API call yet. + + If you have some time to spare, feel free to + share suggestions on our Discord: + https://discord.gg/VaTVkXB4aQ + */ + - language: python + install: pip install mollie-api-python + code: |- + ''' + We don't have a Python code example for this + API call yet. + + If you have some time to spare, feel free to + share suggestions on our Discord: + https://discord.gg/VaTVkXB4aQ + ''' + - language: ruby + install: gem install mollie-api-ruby + code: |- + # We don't have a Ruby code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + x-speakeasy-group: sales-invoices + parameters: + - $ref: '#/components/parameters/idempotency-key' + delete: + summary: Delete sales invoice + x-speakeasy-name-override: delete + tags: + - Sales Invoices API + operationId: delete-sales-invoice + security: + - apiKey: [] + - oAuth: + - sales-invoices.write + description: |- + > 🚧 Beta feature + > + > This feature is currently in beta testing, and the final specification may still change. + + Sales invoices which are in status `draft` can be deleted. For all other statuses, please use the + [Update sales invoice](update-sales-invoice) endpoint instead. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/delete-values-sales-invoice' + responses: + '204': + description: An empty response. + content: + application/hal+json: + schema: {} + example: {} + '404': + $ref: '#/components/responses/404-invalid-id' + '422': + description: The request contains issues. For example, if the status is not `draft`. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: Invoice cannot be deleted unless it is draft status. + _links: + documentation: + href: ... + type: text/html + x-readme: + code-samples: + - language: shell + code: |- + curl -X DELETE https://api.mollie.com/v2/sales-invoices/invoice_4Y0eZitmBnQ6IDoMqZQKh \ + -H "Authorization: Bearer live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" + - language: php + install: composer require mollie/mollie-api-php + code: |- + setApiKey('live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); + + $request = new DeleteSalesInvoiceRequest('invoice_4Y0eZitmBnQ6IDoMqZQKh'); + + $mollie->send($request); + - language: node + install: npm install @mollie/api-client + code: |- + /* + We don't have a Node.js code example for this + API call yet. + + If you have some time to spare, feel free to + share suggestions on our Discord: + https://discord.gg/VaTVkXB4aQ + */ + - language: python + install: pip install mollie-api-python + code: |- + ''' + We don't have a Python code example for this + API call yet. + + If you have some time to spare, feel free to + share suggestions on our Discord: + https://discord.gg/VaTVkXB4aQ + ''' + - language: ruby + install: gem install mollie-api-ruby + code: |- + # We don't have a Ruby code example for this + # API call yet. + # + # If you have some time to spare, feel free to + # share suggestions on our Discord: + # https://discord.gg/VaTVkXB4aQ + x-speakeasy-group: sales-invoices + parameters: + - $ref: '#/components/parameters/idempotency-key' +components: + securitySchemes: + apiKey: + type: http + scheme: bearer + x-default: live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM + oAuth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://my.mollie.com/oauth2/authorize + tokenUrl: https://api.mollie.com/oauth2/tokens + scopes: {} + parameters: + list-from: + name: from + description: |- + Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the + result set. + in: query + schema: + type: + - string + - 'null' + list-limit: + name: limit + description: The maximum number of items to return. Defaults to 50 items. + in: query + schema: + type: + - integer + - 'null' + minimum: 1 + maximum: 250 + example: 50 + testmode: + name: testmode + description: |- + Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query + parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by + setting the `testmode` query parameter to `true`. + + Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + in: query + schema: + type: + - boolean + - 'null' + example: false + id: + name: id + description: Provide the ID of the item you want to perform this operation on. + in: path + required: true + schema: + type: string + parent-balance-id: + name: balanceId + description: Provide the ID of the related balance. + in: path + required: true + schema: + type: string + example: bal_gVMhHKqSSRYJyPsuoPNFH + parent-settlement-id: + name: settlementId + description: Provide the ID of the related settlement. + in: path + required: true + schema: + type: string + example: stl_jDk30akdN + list-sort: + name: sort + description: |- + Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from + newest to oldest. + in: query + schema: + type: + - string + - 'null' + enum: + - asc + - desc + example: desc + profile-id: + name: profileId + description: |- + The identifier referring to the [profile](get-profile) you wish to + retrieve the resources for. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For + organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + in: query + schema: + $ref: '#/components/schemas/profileToken' + embed: + name: embed + description: |- + This endpoint allows embedding related API items by appending the following values via the `embed` query string + parameter. + in: query + schema: + type: + - string + - 'null' + parent-permission-id: + name: permissionId + description: Provide the ID of the related permission. + in: path + required: true + schema: + $ref: '#/components/schemas/permissionToken' + include: + name: include + description: This endpoint allows you to include additional information via the `include` query string parameter. + in: query + schema: + type: + - string + - 'null' + parent-payment-id: + name: paymentId + description: Provide the ID of the related payment. + in: path + required: true + schema: + $ref: '#/components/schemas/paymentToken' + locale: + name: locale + description: Response language + in: query + schema: + type: string + enum: + - en_US + - en_GB + - nl_NL + - nl_BE + - de_DE + - de_AT + - de_CH + - fr_FR + - fr_BE + - es_ES + - ca_ES + - pt_PT + - it_IT + - nb_NO + - sv_SE + - fi_FI + - da_DK + - is_IS + - hu_HU + - pl_PL + - lv_LV + - lt_LT + example: en_US + parent-profile-id: + name: profileId + description: Provide the ID of the related profile. + in: path + required: true + schema: + oneOf: + - $ref: '#/components/schemas/profileToken' + - type: string + enum: + - me + example: me + parent-method-id: + name: methodId + description: Provide the ID of the related payment method. + in: path + required: true + schema: + type: string + example: voucher + parent-refund-id: + name: refundId + description: Provide the ID of the related refund. + in: path + required: true + schema: + $ref: '#/components/schemas/refundToken' + parent-chargeback-id: + name: chargebackId + description: Provide the ID of the related chargeback. + in: path + required: true + schema: + $ref: '#/components/schemas/chargebackToken' + parent-capture-id: + name: captureId + description: Provide the ID of the related capture. + in: path + required: true + schema: + type: string + example: cpt_gVMhHKqSSRYJyPsuoPNFH + parent-payment-link-id: + name: paymentLinkId + description: Provide the ID of the related payment link. + in: path + required: true + schema: + $ref: '#/components/schemas/paymentLinkToken' + parent-terminal-id: + name: terminalId + description: Provide the ID of the related terminal. + in: path + required: true + schema: + $ref: '#/components/schemas/terminalToken' + parent-customer-id: + name: customerId + description: Provide the ID of the related customer. + in: path + required: true + schema: + $ref: '#/components/schemas/customerToken' + parent-mandate-id: + name: mandateId + description: Provide the ID of the related mandate. + in: path + required: true + schema: + $ref: '#/components/schemas/mandateToken' + parent-subscription-id: + name: subscriptionId + description: Provide the ID of the related subscription. + in: path + required: true + schema: + $ref: '#/components/schemas/subscriptionToken' + idempotency-key: + name: idempotency-key + in: header + description: A unique key to ensure idempotent requests. This key should be a UUID v4 string. + required: false + schema: + type: string + example: 123e4567-e89b-12d3-a456-426 + schemas: + list-count: + type: integer + description: |- + The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result + as well. + + The maximum number of items per result set is controlled by the `limit` property provided in the request. The default + limit is 50 items. + minimum: 1 + maximum: 250 + example: 5 + balanceToken: + type: string + example: bal_gVMhHKqSSRYJyPsuoPNFH + mode: + type: string + description: Whether this entity was created in live mode or in test mode. + enum: + - live + - test + readOnly: true + example: live + x-speakeasy-unknown-values: allow + created-at: + type: string + description: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + readOnly: true + example: '2024-03-20T09:13:37.0Z' + currencies: + type: string + enum: + - EUR + - GBP + - CHF + - DKK + - NOK + - PLN + - SEK + - USD + - CZK + - HUF + - AUD + - CAD + x-enumDescriptions: + EUR: Euro + GBP: British Pound + CHF: Swiss Franc + DKK: Danish Krone + NOK: Norwegian Krone + PLN: Polish złoty + SEK: Swedish Krona + USD: United States Dollar + CZK: Czech Koruna + HUF: Hungarian Forint + AUD: Australian Dollar + CAD: Canadian Dollar + example: EUR + x-speakeasy-unknown-values: allow + balance-status: + type: string + description: The status of the balance. + enum: + - active + - inactive + x-enumDescriptions: + active: The balance is operational and ready to be used. + inactive: The account is being validated by our team, or the balance has been blocked. Contact us for more information. + example: active + x-speakeasy-unknown-values: allow + balance-transfer-frequency: + type: string + description: |- + The frequency with which the available amount on the balance will be settled to the configured transfer + destination. + + Settlements created during weekends or on bank holidays will take place on the next business day. + enum: + - daily + - every-monday + - every-tuesday + - every-wednesday + - every-thursday + - every-friday + - monthly + - never + x-enumDescriptions: + daily: Every business day + every-monday: Every Monday + every-tuesday: Every Tuesday + every-wednesday: Every Wednesday + every-thursday: Every Thursday + every-friday: Every Friday + monthly: On the first of the month + never: Automatic settlements are paused for this balance + example: daily + x-speakeasy-unknown-values: allow + amount: + type: object + description: In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. + required: + - currency + - value + properties: + currency: + type: string + description: A three-character ISO 4217 currency code. + example: EUR + value: + type: string + description: A string containing an exact monetary amount in the given currency. + example: '10.00' + balance-transfer-destination-type: + type: string + description: |- + The default destination of automatic scheduled transfers. Currently only `bank-account` is supported. + + * `bank-account` — Transfer the balance amount to an external bank account + enum: + - bank-account + example: bank-account + x-speakeasy-unknown-values: allow + url: + type: object + description: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. + required: + - href + - type + properties: + href: + type: string + description: The actual URL string. + example: https://... + type: + type: string + description: The content type of the page or endpoint the URL points to. + example: application/hal+json + entity-balance: + type: object + properties: + resource: + type: string + description: Indicates the response contains a balance object. Will always contain the string `balance` for this endpoint. + readOnly: true + example: balance + id: + $ref: '#/components/schemas/balanceToken' + description: The identifier uniquely referring to this balance. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + createdAt: + $ref: '#/components/schemas/created-at' + currency: + $ref: '#/components/schemas/currencies' + description: The balance's ISO 4217 currency code. + readOnly: true + description: + type: string + description: The description or name of the balance. Can be used to denote the purpose of the balance. + readOnly: true + example: Balance description + status: + $ref: '#/components/schemas/balance-status' + readOnly: true + transferFrequency: + $ref: '#/components/schemas/balance-transfer-frequency' + readOnly: true + transferThreshold: + $ref: '#/components/schemas/amount' + description: |- + The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds + this threshold, the complete balance will be paid out to the transfer destination according to the configured + frequency. + readOnly: true + transferReference: + type: + - string + - 'null' + description: The transfer reference set to be included in all the transfers for this balance. + example: RF12-3456-7890-1234 + readOnly: true + transferDestination: + type: + - object + - 'null' + description: |- + The destination where the available amount will be automatically transferred to according to the configured + transfer frequency. + properties: + type: + $ref: '#/components/schemas/balance-transfer-destination-type' + bankAccount: + type: string + description: The configured bank account number of the beneficiary the balance amount is to be transferred to. + example: 123456 + beneficiaryName: + type: string + description: The full name of the beneficiary the balance amount is to be transferred to. + example: John Doe + readOnly: true + availableAmount: + $ref: '#/components/schemas/amount' + description: The amount directly available on the balance, e.g. `{"currency":"EUR", "value":"100.00"}`. + readOnly: true + pendingAmount: + $ref: '#/components/schemas/amount' + description: |- + The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a + few days to clear. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + url-nullable: + type: + - object + - 'null' + description: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. + properties: + href: + type: string + description: The actual URL string. + example: https://... + type: + type: string + description: The content type of the page or endpoint the URL points to. + example: application/hal+json + list-links: + type: object + description: Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. + required: + - self + - previous + - next + - documentation + properties: + self: + $ref: '#/components/schemas/url' + description: The URL to the current set of items. + previous: + $ref: '#/components/schemas/url-nullable' + description: The previous set of items, if available. + next: + $ref: '#/components/schemas/url-nullable' + description: The next set of items, if available. + documentation: + $ref: '#/components/schemas/url' + error-response: + type: object + description: An error response object. + required: + - status + - title + - detail + - _links + properties: + status: + type: integer + description: The status code of the error message. This is always the same code as the status code of the HTTP message itself. + minimum: 400 + maximum: 599 + example: 404 + title: + type: string + description: The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`. + example: Not Found + detail: + type: string + description: A detailed human-readable description of the error that occurred. + example: The resource does not exist + field: + type: string + description: |- + If the error was caused by a value provided by you in a specific field, the `field` property will contain the name + of the field that caused the issue. + example: description + _links: + type: object + required: + - documentation + properties: + documentation: + type: object + description: The URL to the generic Mollie API error handling guide. + required: + - href + - type + properties: + href: + type: string + example: https://docs.mollie.com/errors + type: + type: string + example: text/html + balance-report-grouping: + type: string + enum: + - status-balances + - transaction-categories + example: status-balances + x-speakeasy-unknown-values: allow + payment-method: + type: + - string + - 'null' + description: The payment method, if applicable + enum: + - alma + - bacs + - applepay + - bancomatpay + - bancontact + - banktransfer + - belfius + - billie + - bizum + - bitcoin + - blik + - creditcard + - directdebit + - eps + - giftcard + - giropay + - googlepay + - ideal + - in3 + - inghomepay + - kbc + - klarnapaylater + - klarnapaynow + - klarnasliceit + - klarna + - mbway + - mobilepay + - multibanco + - mybank + - paybybank + - payconiq + - paypal + - paysafecard + - przelewy24 + - riverty + - satispay + - podiumcadeaukaart + - pointofsale + - sofort + - swish + - trustly + - twint + - vipps + - voucher + example: creditcard + x-speakeasy-unknown-values: allow + sub-totals: + type: object + properties: + count: + type: integer + description: Number of transactions of this type + example: 50 + method: + $ref: '#/components/schemas/payment-method' + description: Payment type of the transactions + cardIssuer: + type: + - string + - 'null' + description: In case of payments transactions with card, the card issuer will be available + enum: + - amex + - maestro + - carte-bancaire + - other + example: amex + cardAudience: + type: + - string + - 'null' + description: In case of payments trnsactions with card, the card audience will be available. + enum: + - corporate + - other + example: other + cardRegion: + type: + - string + - 'null' + description: In case of payments transactions with card, the card region will be available. + enum: + - intra-eea + - intra-eu + - domestic + - other + example: domestic + feeType: + type: + - string + - 'null' + description: Present when the transaction represents a fee. + enum: + - payment-fee + - direct-debit-failure-fee + - unauthorized-direct-debit-fee + - bank-charged-direct-debit-failure-fee + - partner-commission + - application-fee + - capture-fee + - refund-fee + - chargeback-fee + - payment-notification-fee + - transfer-notification-fee + - payout-fee + - fee-discount + - fee-reimbursement + - platform-volume-fee + - platform-connected-organizations-fee + - balance-charge-fee + - 3ds-authentication-attempt-fee + - terminal-monthly-fee + - acceptance-risk-fee + - top-up-fee + - payment-gateway-fee + - mastercard-specialty-merchant-program-processing-fee + - mastercard-specialty-merchant-program-registration-fee + - visa-integrity-risk-program-processing-fee + - visa-integrity-risk-program-registration-fee + - minimum-invoice-amount-fee + example: payment-fee + prepaymentPartType: + type: + - string + - 'null' + description: 'Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation.' + enum: + - fee + - fee-reimbursement + - fee-discount + - fee-vat + - fee-rounding-compensation + example: fee + transactionType: + type: + - string + - 'null' + description: Represents the transaction type + enum: + - payment + - split-payment + - failed-payment + - failed-platform-split-payment + - failed-split-payment-compensation + - capture + - split-transaction + - refund + - platform-payment-refund + - returned-platform-payment-refund + - refund-compensation + - returned-refund-compensation + - returned-refund + - chargeback + - chargeback-reversal + - chargeback-compensation + - reversed-chargeback-compensation + - platform-payment-chargeback + - reversed-platform-payment-chargeback + - fee-prepayment + - outgoing-transfer + - incoming-transfer + - canceled-transfer + - returned-transfer + - balance-reserve + - balance-reserve-return + - invoice-rounding-compensation + - rolling-reserve-hold + - rolling-reserve-release + - balance-correction + - repayment + - loan + - balance-topup + - cash-collateral-issuance'; + - cash-collateral-release + - pending-rolling-reserve + - to-be-released-rolling-reserve + - held-rolling-reserve + - released-rolling-reserve + example: payment + x-speakeasy-unknown-values: allow + components-sub-totals: + type: object + properties: + sub-totals: + type: + - array + - 'null' + items: + $ref: '#/components/schemas/sub-totals' + count: + type: integer + description: Number of transactions of this type + example: 50 + method: + $ref: '#/components/schemas/payment-method' + description: Payment type of the transactions + cardIssuer: + type: + - string + - 'null' + description: In case of payments transactions with card, the card issuer will be available + enum: + - amex + - maestro + - carte-bancaire + - other + example: amex + cardAudience: + type: + - string + - 'null' + description: In case of payments trnsactions with card, the card audience will be available. + enum: + - corporate + - other + example: other + cardRegion: + type: + - string + - 'null' + description: In case of payments transactions with card, the card region will be available. + enum: + - intra-eea + - intra-eu + - domestic + - other + example: domestic + feeType: + type: + - string + - 'null' + description: Present when the transaction represents a fee. + enum: + - payment-fee + - direct-debit-failure-fee + - unauthorized-direct-debit-fee + - bank-charged-direct-debit-failure-fee + - partner-commission + - application-fee + - capture-fee + - refund-fee + - chargeback-fee + - payment-notification-fee + - transfer-notification-fee + - payout-fee + - fee-discount + - fee-reimbursement + - platform-volume-fee + - platform-connected-organizations-fee + - balance-charge-fee + - 3ds-authentication-attempt-fee + - terminal-monthly-fee + - acceptance-risk-fee + - top-up-fee + - payment-gateway-fee + - mastercard-specialty-merchant-program-processing-fee + - mastercard-specialty-merchant-program-registration-fee + - visa-integrity-risk-program-processing-fee + - visa-integrity-risk-program-registration-fee + - minimum-invoice-amount-fee + example: payment-fee + prepaymentPartType: + type: + - string + - 'null' + description: 'Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation.' + enum: + - fee + - fee-reimbursement + - fee-discount + - fee-vat + - fee-rounding-compensation + example: fee + transactionType: + type: + - string + - 'null' + description: Represents the transaction type + enum: + - payment + - split-payment + - failed-payment + - failed-platform-split-payment + - failed-split-payment-compensation + - capture + - split-transaction + - refund + - platform-payment-refund + - returned-platform-payment-refund + - refund-compensation + - returned-refund-compensation + - returned-refund + - chargeback + - chargeback-reversal + - chargeback-compensation + - reversed-chargeback-compensation + - platform-payment-chargeback + - reversed-platform-payment-chargeback + - fee-prepayment + - outgoing-transfer + - incoming-transfer + - canceled-transfer + - returned-transfer + - balance-reserve + - balance-reserve-return + - invoice-rounding-compensation + - rolling-reserve-hold + - rolling-reserve-release + - balance-correction + - repayment + - loan + - balance-topup + - cash-collateral-issuance'; + - cash-collateral-release + - pending-rolling-reserve + - to-be-released-rolling-reserve + - held-rolling-reserve + - released-rolling-reserve + example: payment + x-speakeasy-unknown-values: allow + sub-group: + type: object + properties: + amount: + $ref: '#/components/schemas/amount' + subtotals: + type: + - array + - 'null' + items: + $ref: '#/components/schemas/components-sub-totals' + x-speakeasy-unknown-values: allow + entity-balance-report: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a balance report object. Will always contain the string `balance-report` for this + endpoint. + readOnly: true + example: balance-report + balanceId: + $ref: '#/components/schemas/balanceToken' + description: The ID of the balance this report is generated for. + timeZone: + type: string + description: The time zone used for the from and until parameters. Currently only time zone `Europe/Amsterdam` is supported. + example: Europe/Amsterdam + from: + type: string + description: |- + The start date of the report, in `YYYY-MM-DD` format. The from date is 'inclusive', and in Central European Time. + This means a report with for example `from=2024-01-01` will include movements of 2024-01-01 00:00:00 CET and + onwards. + example: '2025-03-31' + until: + type: string + description: |- + The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time. + This means a report with for example `until=2024-02-01` will include movements up until 2024-01-31 23:59:59 CET. + example: '2025-03-31' + grouping: + $ref: '#/components/schemas/balance-report-grouping' + totals: + type: object + description: |- + Totals are grouped according to the chosen grouping rule. The example response should give a good idea of what a + typical grouping looks like. + + If grouping `status-balances` is chosen, the main grouping is as follows: + + * `pendingBalance` containing an `open`, `pending`, `movedToAvailable`, and `close` sub-group + * `availableBalance` containing an `open`, `movedFromPending`, `immediatelyAvailable`, and `close` sub-group + + If grouping `transaction-categories` is chosen, the main grouping is as follows: + + * `open` and `close` groups, each containing a `pending` and `available` sub-group + * Transaction type groups such as `payments`, `refunds`, `chargebacks`, `capital`, `transfers`, `fee-prepayments`, `corrections`, `topups` + each containing a `pending`, `movedToAvailable`, and + `immediatelyAvailable` sub-group + + Each sub-group typically has: + + * An `amount` object containing the group's total amount + * A `count` integer if relevant (for example, counting the number of refunds) + * A `subtotals` array containing more sub-group objects if applicable + properties: + pendingBalance: + type: + - object + - 'null' + description: The pending balance. Only available if grouping is `status-balances`. + properties: + open: + $ref: '#/components/schemas/sub-group' + close: + $ref: '#/components/schemas/sub-group' + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + availableBalance: + type: + - object + - 'null' + description: The available balance. Only available if grouping is `status-balances`. + properties: + open: + $ref: '#/components/schemas/sub-group' + movedFromPending: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + close: + $ref: '#/components/schemas/sub-group' + open: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + available: + $ref: '#/components/schemas/sub-group' + close: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + available: + $ref: '#/components/schemas/sub-group' + payments: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + refunds: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + chargebacks: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + capital: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + transfers: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + fee-prepayments: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + corrections: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + topups: + type: object + description: Only available on `transaction-categories` grouping. + properties: + pending: + $ref: '#/components/schemas/sub-group' + movedToAvailable: + $ref: '#/components/schemas/sub-group' + immediatelyAvailable: + $ref: '#/components/schemas/sub-group' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + balanceTransactionToken: + type: string + example: baltr_QM24QwzUWR4ev4Xfgyt29d + balance-transaction-type: + type: string + enum: + - application-fee + - capture + - chargeback + - chargeback-reversal + - failed-payment-fee + - failed-payment + - invoice-compensation + - payment + - payment-fee + - payment-commission + - refund + - returned-refund + - returned-transfer + - split-payment + - outgoing-transfer + - capture-commission + - canceled-outgoing-transfer + - incoming-transfer + - api-payment-rolling-reserve-release + - capture-rolling-reserve-release + - reimbursement-fee + - balance-correction + - unauthorized-direct-debit + - bank-charged-failure-fee + - platform-payment-refund + - refund-compensation + - returned-refund-compensation + - returned-platform-payment-refund + - platform-payment-chargeback + - chargeback-compensation + - reversed-platform-payment-chargeback + - reversed-chargeback-compensation + - failed-split-payment-platform + - failed-split-payment-compensation + - cash-advance-loan + - platform-connected-organizations-fee + - split-transaction + - managed-fee + - returned-managed-fee + - topup + - balance-reserve + - balance-reserve-return + - movement + - post-payment-split-payment + - cash-collateral-issuance + - cash-collateral-release + example: payment + x-speakeasy-unknown-values: allow + amount-nullable: + type: + - object + - 'null' + description: In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. + required: + - currency + - value + properties: + currency: + type: string + description: A three-character ISO 4217 currency code. + example: EUR + value: + type: string + description: A string containing an exact monetary amount in the given currency. + example: '10.00' + paymentToken: + type: string + example: tr_5B8cwPMGnU + captureToken: + type: string + example: cpt_vytxeTZskVKR7C7WgdSP3d + refundToken: + type: string + example: re_5B8cwPMGnU + chargebackToken: + type: string + example: chb_xFzwUN4ci8HAmSGUACS4J + transferToken: + type: string + example: trf_nyjwa2 + settlementToken: + type: string + example: stl_5B8cwPMGnU + invoiceToken: + type: string + example: inv_aHbjjdrUdm + organizationToken: + type: string + example: org_1234567 + entity-balance-transaction: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a balance transaction object. Will always contain the string `balance-transaction` + for this endpoint. + readOnly: true + example: balance-transaction + id: + $ref: '#/components/schemas/balanceTransactionToken' + description: The identifier uniquely referring to this balance transaction. + readOnly: true + type: + $ref: '#/components/schemas/balance-transaction-type' + description: |- + The type of transaction, for example `payment` or `refund`. Values include the below examples, although this list + is not definitive. + + * Regular payment processing: `payment` `capture` `unauthorized-direct-debit` `failed-payment` + * Refunds and chargebacks: `refund` `returned-refund` `chargeback` `chargeback-reversal` + * Settlements: `outgoing-transfer` `canceled-outgoing-transfer` `returned-transfer` + * Invoicing: `invoice-compensation` `balance-correction` + * Mollie Connect: `application-fee` `split-payment` `platform-payment-refund` `platform-payment-chargeback` + resultAmount: + $ref: '#/components/schemas/amount' + description: |- + The final amount that was moved to or from the balance. If the transaction moves funds away from the balance, for + example when it concerns a refund, the amount will be negative. + initialAmount: + $ref: '#/components/schemas/amount' + description: |- + The amount that was to be moved to or from the balance, excluding deductions. If the transaction moves funds away + from the balance, for example when it concerns a refund, the amount will be negative. + deductions: + $ref: '#/components/schemas/amount-nullable' + description: |- + The total amount of deductions withheld from the movement. For example, if we charge a €0.29 fee on a €10 payment, + the deductions amount will be `{"currency":"EUR", "value":"-0.29"}`. + + When moving funds to a balance, we always round the deduction to a 'real' amount. Any differences between these + real-time rounded amounts and the final invoice will be compensated when the invoice is generated. + context: + type: object + description: |- + Depending on the type of the balance transaction, we will try to give more context about the specific event that + triggered it. For example, the context object for a payment transaction will look like + `{"paymentId": "tr_5B8cwPMGnU6qLbRvo7qEZo", "paymentDescription": "Description"}`. + + Below is a complete list of the context values that each type of transaction will have. + + * Type `payment`: `paymentId`, `paymentDescription` + * Type `capture`: `paymentId` `captureId`, `paymentDescription`, `captureDescription` + * Type `capture-commission`: `paymentId`, `paymentDescription`, `organizationId` + * Type `capture-rolling-reserve-release`: `paymentId`, `paymentDescription`, `captureId`, `captureDescription` + * Type `unauthorized-direct-debit`: `paymentId`, `paymentDescription` + * Type `failed-payment`: `paymentId`, `paymentDescription` + * Type `refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `returned-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `returned-refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `chargeback-reversal`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `reversed-chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `outgoing-transfer`: `settlementId` `transferId` + * Type `canceled-outgoing-transfer`: `settlementId` `transferId` + * Type `returned-transfer`: `settlementId` `transferId` + * Type `invoice-compensation`: `invoiceId` + * Type `balance-correction`: none + * Type `application-fee`: `paymentId`, `paymentDescription`, `payingOwner` + * Type `split-payment`: `paymentId`, `paymentDescription`, `paymentOwner` + * Type `platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `returned-platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` + * Type `platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `reversed-platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` + * Type `payment-commission`: `paymentId`, `paymentDescription`, `organizationId` + * Type `reimbursement-fee`: `paymentId`, `paymentDescription` + * Type `failed-payment-fee`: `paymentId`, `paymentDescription` + * Type `payment-fee`: `paymentId`, `paymentDescription` + * Type `cash-advance-loan`: none + * Type `platform-connected-organizations-fee`: none + * Type `managed-fee`: `feeType`, `Id` + * Type `returned-managed-fee`: `feeType`, `Id` + * Type `topup`: none + * Type `balance-reserve`: none + * Type `balance-reserve-return`: none + * Type `movement`: none + * Type `post-payment-split-payment`: `paymentId` + * Type `cash-collateral-issuance`: none + * Type `cash-collateral-release`: none + properties: + payment: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + capture: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + captureId: + $ref: '#/components/schemas/captureToken' + captureDescription: + type: string + example: Capture Description + capture-commision: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + captureId: + $ref: '#/components/schemas/captureToken' + captureDescription: + type: string + example: Capture Description + capture-rolling-reserve-release: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + captureId: + $ref: '#/components/schemas/captureToken' + captureDescription: + type: string + example: Capture Description + unauthorized-direct-debit: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + failed-payment: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refund: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + refund-compensation: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + returned-refund: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + returned-refund-compensation: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + chargeback: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + chargeback-reversal: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + chargeback-compensation: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + reversed-chargeback-compensation: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + outgoing-transfer: + type: + - object + - 'null' + properties: + transferId: + $ref: '#/components/schemas/transferToken' + settlementId: + $ref: '#/components/schemas/settlementToken' + canceled-outgoing-transfer: + type: + - object + - 'null' + properties: + transferId: + $ref: '#/components/schemas/transferToken' + settlementId: + $ref: '#/components/schemas/settlementToken' + returned-transfer: + type: + - object + - 'null' + properties: + transferId: + type: string + example: trf_nyjwa2 + settlementId: + type: string + example: stl_s3hcSM2hKP + invoice-compensation: + type: + - object + - 'null' + properties: + invoiceId: + $ref: '#/components/schemas/invoiceToken' + application-fee: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + payingOwner: + $ref: '#/components/schemas/organizationToken' + split-payment: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + paymentOnwer: + $ref: '#/components/schemas/organizationToken' + platform-payment-refund: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + returned-platform-payment-refund: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + refundId: + $ref: '#/components/schemas/refundToken' + refundDescription: + type: string + example: Refund Description + platform-payment-chargeback: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + reversed-platform-payment-chargeback: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + chargebackId: + $ref: '#/components/schemas/chargebackToken' + chargebackDescription: + type: string + example: Chargeback Description + payment-commission: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + organizationId: + $ref: '#/components/schemas/organizationToken' + reimbursement-fee: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + failed-payment-fee: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + payment-fee: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + paymentDescription: + type: string + example: Payment Description + managed-fee: + type: + - object + - 'null' + properties: + feeType: + type: string + example: feeType + feeId: + type: string + example: feeId + returned-managed-fee: + type: + - object + - 'null' + properties: + feeType: + type: string + example: feeType + feeId: + type: string + example: feeId + post-payment-split-payment: + type: + - object + - 'null' + properties: + paymentId: + $ref: '#/components/schemas/paymentToken' + createdAt: + $ref: '#/components/schemas/created-at' + x-speakeasy-unknown-values: allow + settlement-status: + type: string + description: The status of the settlement. + enum: + - open + - pending + - paidout + - failed + x-enumDescriptions: + open: The settlement has not been closed yet + pending: The settlement has been closed and is being processed + paidout: The settlement has been paid out + failed: The settlement could not be paid out + example: paidout + x-speakeasy-unknown-values: allow + entity-settlement: + type: object + required: + - resource + - id + - status + - amount + - balanceId + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a settlement object. Will always contain the string `settlement` for this + endpoint. + readOnly: true + example: settlement + id: + $ref: '#/components/schemas/settlementToken' + description: The identifier uniquely referring to this settlement. + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + reference: + type: + - string + - 'null' + description: The settlement's bank reference, as found in your Mollie account and on your bank statement. + readOnly: true + example: 07049691.2406.01 + settledAt: + type: + - string + - 'null' + description: |- + The date on which the settlement was settled, in ISO 8601 format. + + For an [open settlement](get-open-settlement) or for the [next settlement](get-next-settlement), no settlement + date is available. + readOnly: true + example: '2025-03-31T12:54:39Z' + status: + $ref: '#/components/schemas/settlement-status' + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: The total amount of the settlement. + readOnly: true + balanceId: + $ref: '#/components/schemas/balanceToken' + description: The balance token that the settlement was settled to. + readOnly: true + invoiceId: + $ref: '#/components/schemas/invoiceToken' + type: + - string + - 'null' + description: The ID of the oldest invoice created for all the periods, if the invoice has been created yet. + readOnly: true + periods: + type: object + description: |- + For bookkeeping purposes, the settlement includes an overview of transactions included in the settlement. These + transactions are grouped into 'period' objects — one for each calendar month. + + For example, if a settlement includes funds from 15 April until 4 May, it will include two period objects. One for + all transactions processed between 15 April and 30 April, and one for all transactions between 1 May and 4 May. + + Period objects are grouped by year, and then by month. So in the above example, the full `periods` collection will + look as follows: `{"2024": {"04": {...}, "05": {...}}}`. The year and month in this documentation are referred as `` and ``. + + The example response should give a good idea of what this looks like in practise. + readOnly: true + additionalProperties: + type: object + additionalProperties: + type: object + properties: + costs: + type: array + description: An array of cost objects, describing the fees withheld for each payment method during this period. + items: + type: object + required: + - description + - method + - count + - rate + - amountNet + - amountVat + - amountGross + properties: + description: + type: string + description: A description of the cost subtotal + example: Credit card - Visa debit consumer domestic + method: + $ref: '#/components/schemas/payment-method' + count: + type: integer + description: The number of fees + example: 10 + rate: + type: object + description: The service rates, further divided into `fixed` and `percentage` costs. + properties: + fixed: + $ref: '#/components/schemas/amount' + percentage: + type: string + example: '2.5' + amountNet: + $ref: '#/components/schemas/amount' + description: The net total cost, i.e. excluding VAT + amountVat: + $ref: '#/components/schemas/amount-nullable' + description: The applicable VAT + amountGross: + $ref: '#/components/schemas/amount' + description: The gross total cost, i.e. including VAT + revenue: + type: array + description: An array of revenue objects containing the total revenue for each payment method during this period. + items: + type: object + required: + - description + - method + - count + - amountNet + - amountVat + - amountGross + properties: + description: + type: string + description: A description of the revenue subtotal + example: Credit card + method: + $ref: '#/components/schemas/payment-method' + count: + type: integer + description: The number of payments + example: 10 + amountNet: + $ref: '#/components/schemas/amount' + description: The net total of received funds, i.e. excluding VAT + amountVat: + $ref: '#/components/schemas/amount-nullable' + description: The applicable VAT + amountGross: + $ref: '#/components/schemas/amount' + description: The gross total of received funds, i.e. including VAT + invoiceId: + $ref: '#/components/schemas/invoiceToken' + type: + - string + - 'null' + description: The ID of the invoice created for this period, if the invoice has been created already. + invoiceReference: + type: + - string + - 'null' + description: The invoice reference, if the invoice has been created already. + example: MOLR2021.0001399669 + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + properties: + self: + $ref: '#/components/schemas/url' + payments: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payments](list-payments) included in this settlement. + captures: + $ref: '#/components/schemas/url' + description: The API resource URL of the [captures](list-captures) included in this settlement. + refunds: + $ref: '#/components/schemas/url' + description: The API resource URL of the [refunds](list-refunds) deducted from this settlement. + chargebacks: + $ref: '#/components/schemas/url' + description: The API resource URL of the [chargebacks](list-chargebacks) deducted from this settlement. + invoice: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [invoice](list-invoices). + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + profileToken: + type: string + example: pfl_5B8cwPMGnU + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + payment-line-type: + type: string + description: |- + The type of product purchased. For example, a physical or a digital product. + + The `tip` payment line type is not available when creating a payment. + enum: + - physical + - digital + - shipping_fee + - discount + - store_credit + - gift_card + - surcharge + - tip + example: physical + line-categories: + type: string + enum: + - eco + - gift + - meal + - sport_culture + - additional + - consume + example: eco + payment-line-item: + type: object + required: + - description + - quantity + - unitPrice + - totalAmount + properties: + type: + $ref: '#/components/schemas/payment-line-type' + description: + type: string + description: A description of the line item. For example *LEGO 4440 Forest Police Station*. + example: LEGO 4440 Forest Police Station + quantity: + type: integer + description: The number of items. + minimum: 1 + example: 1 + quantityUnit: + type: string + description: The unit for the quantity. For example *pcs*, *kg*, or *cm*. + example: pcs + unitPrice: + $ref: '#/components/schemas/amount' + description: |- + The price of a single item including VAT. + + For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. + + For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. + + The unit price can be zero in case of free items. + discountAmount: + $ref: '#/components/schemas/amount' + description: |- + Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount + type. + totalAmount: + $ref: '#/components/schemas/amount' + description: |- + The total amount of the line, including VAT and discounts. + + Should match the following formula: `(unitPrice × quantity) - discountAmount`. + + The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + vatRate: + type: string + description: |- + The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and + not as a float, to ensure the correct number of decimals are passed. + example: '21.00' + vatAmount: + $ref: '#/components/schemas/amount' + description: |- + The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be + calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. + + Any deviations from this will result in an error. + + For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of + `SEK 100.00 × (25 / 125) = SEK 20.00`. + sku: + type: string + description: The SKU, EAN, ISBN or UPC of the product sold. + maxLength: 64 + example: '9780241661628' + categories: + type: array + description: |- + An array with the voucher categories, in case of a line eligible for a voucher. See the + [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + items: + $ref: '#/components/schemas/line-categories' + example: + - meal + - eco + imageUrl: + type: string + description: A link pointing to an image of the product sold. + example: https://... + productUrl: + type: string + description: A link pointing to the product page in your web shop of the product sold. + example: https://... + recurring-line-item: + type: object + required: + - interval + properties: + description: + type: string + description: A description of the recurring item. If not present, the main description of the item will be used. + example: Gym subscription + interval: + type: string + description: |- + Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`. + + Possible values: `... days`, `... weeks`, `... months`. + pattern: ^(\d+) (months|weeks|days)$ + example: 12 months + amount: + $ref: '#/components/schemas/amount' + description: Total amount and currency of the recurring item. + times: + type: integer + description: Total number of charges for the subscription to complete. Leave empty for ongoing subscription. + example: 1 + startDate: + type: + - string + - 'null' + description: The start date of the subscription if it does not start right away (format `YYYY-MM-DD`) + example: '2024-12-12' + payment-address: + type: object + properties: + title: + type: string + description: The title of the person, for example *Mr.* or *Mrs.*. + example: Mr. + givenName: + type: string + description: |- + The given name (first name) of the person should be at least two characters and cannot contain only + numbers. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: Piet + familyName: + type: string + description: |- + The given family name (surname) of the person should be at least two characters and cannot contain only + numbers. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: Mondriaan + organizationName: + type: string + description: The name of the organization, in case the addressee is an organization. + example: Mollie B.V. + streetAndNumber: + type: string + description: |- + A street and street number. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: Keizersgracht 126 + streetAdditional: + type: string + description: Any additional addressing details, for example an apartment number. + example: Apt. 1 + postalCode: + type: string + description: |- + A postal code. This field may be required if the provided country has a postal code system. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: 1234AB + email: + type: string + description: |- + A valid e-mail address. + + If you provide the email address for a `banktransfer` payment, we will automatically send the instructions + email upon payment creation. The language of the email will follow the locale parameter of the payment. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: piet@example.org + phone: + type: string + description: 'If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.' + example: 31208202070 + city: + type: string + description: |- + A city name. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: Amsterdam + region: + type: string + description: 'The top-level administrative subdivision of the country. For example: Noord-Holland.' + example: Noord-Holland + country: + type: string + description: |- + A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + + Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + example: NL + locale: + type: + - string + - 'null' + description: Allows you to preset the language to be used. + enum: + - en_US + - en_GB + - nl_NL + - nl_BE + - de_DE + - de_AT + - de_CH + - fr_FR + - fr_BE + - es_ES + - ca_ES + - pt_PT + - it_IT + - nb_NO + - sv_SE + - fi_FI + - da_DK + - is_IS + - hu_HU + - pl_PL + - lv_LV + - lt_LT + - null + example: en_US + method: + type: + - string + - 'null' + description: |- + Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment + method and your customer will skip the selection screen and is sent directly to the chosen payment method. The + parameter enables you to fully integrate the payment method selection into your website. + + You can also specify the methods in an array. By doing so we will still show the payment method selection screen + but will only show the methods specified in the array. For example, you can use this functionality to only show + payment methods from a specific country to your customer `['bancontact', 'belfius']`. + example: ideal + enum: + - alma + - applepay + - bacs + - bancomatpay + - bancontact + - banktransfer + - belfius + - billie + - bizum + - blik + - creditcard + - directdebit + - eps + - giftcard + - ideal + - in3 + - kbc + - klarna + - klarnapaylater + - klarnapaynow + - klarnasliceit + - mbway + - mobilepay + - multibanco + - mybank + - paybybank + - payconiq + - paypal + - paysafecard + - pointofsale + - przelewy24 + - riverty + - satispay + - swish + - trustly + - twint + - vipps + - voucher + metadata: + oneOf: + - type: string + - type: object + properties: {} + additionalProperties: true + - type: array + items: + type: string + - type: 'null' + description: |- + Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever + you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. + capture-mode: + type: + - string + - 'null' + description: |- + Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) + and capture at a later time. + + This field needs to be set to `manual` for method `riverty`. + example: manual + enum: + - automatic + - manual + routeToken: + type: string + example: rt_5B8cwPMGnU + route-destination-type: + type: string + description: The type of destination. Currently only the destination type `organization` is supported. + enum: + - organization + example: organization + entity-payment-route: + type: object + required: + - resource + - id + - mode + - createdAt + - amount + - destination + - _links + properties: + resource: + type: string + description: Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + readOnly: true + example: route + id: + $ref: '#/components/schemas/routeToken' + description: |- + The identifier uniquely referring to this route. Mollie will always refer to the route by this ID. + Example: `rt_5B8cwPMGnU6qLbRvo7qEZo`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + amount: + $ref: '#/components/schemas/amount' + description: The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. + destination: + type: object + description: The destination of this portion of the payment. + required: + - type + - organizationId + properties: + type: + $ref: '#/components/schemas/route-destination-type' + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for destination type `organization`. The ID of the connected organization the funds should be + routed to. + createdAt: + type: string + description: The date and time when the route was created. The date is given in ISO 8601 format. + readOnly: true + example: '2024-12-12T10:00:00Z' + releaseDate: + type: + - string + - 'null' + description: |- + Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The + date must be given in `YYYY-MM-DD` format. + + If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. + example: '2024-12-12' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that belong to this route. + sequence-type: + type: string + enum: + - oneoff + - first + - recurring + example: oneoff + subscriptionToken: + type: string + example: sub_5B8cwPMGnU + mandateToken: + type: string + example: mdt_5B8cwPMGnU + customerToken: + type: string + example: cst_5B8cwPMGnU + orderToken: + type: string + example: ord_5B8cwPMGnU + payment-status: + type: string + description: |- + The payment's status. Refer to the [documentation regarding statuses](https://docs.mollie.com/docs/status-change#/) for more info about which + statuses occur at what point. + enum: + - open + - pending + - authorized + - paid + - canceled + - expired + - failed + readOnly: true + example: open + x-speakeasy-unknown-values: allow + status-reason: + type: + - object + - 'null' + description: |- + This object offers details about the status of a payment. Currently it is only available for point-of-sale + payments. + + You can find more information about the possible values of this object on + [this page](status-reasons).** + readOnly: true + required: + - code + - message + properties: + code: + allOf: + - type: string + description: A machine-readable code that indicates the reason for the payment's status. + example: insufficient_funds + - type: string + enum: + - approved_or_completed_successfully + - refer_to_card_issuer + - invalid_merchant + - capture_card + - do_not_honor + - error + - partial_approval + - invalid_transaction + - invalid_amount + - invalid_issuer + - lost_card + - stolen_card + - insufficient_funds + - expired_card + - invalid_pin + - transaction_not_permitted_to_cardholder + - transaction_not_allowed_at_terminal + - exceeds_withdrawal_amount_limit + - restricted_card + - security_violation + - exceeds_withdrawal_count_limit + - allowable_number_of_pin_tries_exceeded + - no_reason_to_decline + - cannot_verify_pin + - issuer_unavailable + - unable_to_route_transaction + - duplicate_transaction + - system_malfunction + - honor_with_id + - invalid_card_number + - format_error + - contact_card_issuer + - pin_not_changed + - invalid_nonexistent_to_account_specified + - invalid_nonexistent_from_account_specified + - invalid_nonexistent_account_specified + - lifecycle_related + - domestic_debit_transaction_not_allowed + - policy_related + - fraud_security_related + - invalid_authorization_life_cycle + - purchase_amount_only_no_cash_back_allowed + - cryptographic_failure + - unacceptable_pin + - refer_to_card_issuer_special_condition + - pick_up_card_special_condition + - vip_approval + - invalid_account_number + - re_enter_transaction + - no_action_taken + - unable_to_locate_record + - file_temporarily_unavailable + - no_credit_account + - closed_account + - no_checking_account + - no_savings_account + - suspected_fraud + - transaction_does_not_fulfill_aml_requirement + - pin_data_required + - unable_to_locate_previous_message + - previous_message_located_inconsistent_data + - blocked_first_used + - transaction_reversed + - credit_issuer_unavailable + - pin_cryptographic_error_found + - negative_online_cam_result + - violation_of_law + - force_stip + - cash_service_not_available + - cashback_request_exceeds_issuer_limit + - decline_for_cvv2_failure + - transaction_amount_exceeds_pre_authorized_amount + - invalid_biller_information + - pin_change_unblock_request_declined + - unsafe_pin + - card_authentication_failed + - stop_payment_order + - revocation_of_authorization + - revocation_of_all_authorizations + - forward_to_issuer_xa + - forward_to_issuer_xd + - unable_to_go_online + - additional_customer_authentication_required + - merchant_id_not_found + - merchant_account_closed + - terminal_id_not_found + - terminal_closed + - invalid_category_code + - invalid_currency + - missing_cvv2_cvc2 + - cvv2_not_allowed + - merchant_not_registered_vbv + - merchant_not_registered_for_amex + - transaction_not_permitted_at_terminal + - agreement_terminal_not_related + - invalid_processor_id + - invalid_merchant_data + - sub_merchant_account_closed + - terminal_busy + - terminal_unreachable + - service_failed + - invalid_operation + - authorization_error + - login_failed_without_reason + - invalid_retailer + - card_does_not_exist + - card_is_blocked + - invalid_card_id + - card_is_transferred + - card_is_not_active + - incorrect_purchase_value + - card_not_available + - wrong_currency + - login_failed_unknown_user + - login_failed_invalid_password + - invalid_ean_code + x-methodSpecific: true + message: + type: string + description: A description of the status reason, localized according to the payment `locale`. + example: |- + The account associated with the card has insufficient funds. The shopper should use another payment method or + contact their bank. + x-speakeasy-unknown-values: allow + payment-details-card-audition: + type: + - string + - 'null' + description: The card's target audience, if known. + enum: + - consumer + - business + example: consumer + payment-details-card-label: + type: + - string + - 'null' + description: The card's label, if known. + enum: + - American Express + - Carta Si + - Carte Bleue + - Dankort + - Diners Club + - Discover + - JCB + - Laser + - Maestro + - Mastercard + - Unionpay + - Visa + - Vpay + example: Mastercard + payment-details-card-funding: + type: + - string + - 'null' + description: The card type. + enum: + - debit + - credit + - prepaid + - deferred-debit + example: credit + payment-details-card-security: + type: + - string + - 'null' + description: The level of security applied during card processing. + enum: + - normal + - 3dsecure + example: normal + payment-details-fee-region: + type: + - string + - 'null' + description: The applicable card fee region. + enum: + - american-express + - amex-intra-eea + - carte-bancaire + - intra-eu + - intra-eu-corporate + - domestic + - maestro + - other + - inter + - intra_eea + example: maestro + payment-details-failure-reason: + type: + - string + - 'null' + description: A failure code to help understand why the payment failed. + enum: + - authentication_abandoned + - authentication_failed + - authentication_required + - authentication_unavailable_acs + - card_declined + - card_expired + - inactive_card + - insufficient_funds + - invalid_cvv + - invalid_card_holder_name + - invalid_card_number + - invalid_card_type + - possible_fraud + - refused_by_issuer + - unknown_reason + example: card_declined + payment-details-wallet: + type: + - string + - 'null' + description: The wallet used when creating the payment. + enum: + - applepay + example: applepay + payment-details-seller-protection: + type: + - string + - 'null' + description: |- + Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal + payments, and if the information is made available by PayPal. + enum: + - Eligible + - Ineligible + - Partially Eligible - INR Only + - Partially Eligible - Unauth Only + - Partially Eligible + - None + - Active + - Fraud Control - Unauth Premium Eligible + example: Eligible + payment-details-receipt-card-read-method: + type: + - string + - 'null' + description: The method by which the card was read by the terminal. + enum: + - chip + - magnetic-stripe + - near-field-communication + - contactless + - moto + example: contactless + payment-details-receipt-card-verification-method: + type: + - string + - 'null' + description: The method used to verify the cardholder's identity. + enum: + - no-cvm-required + - online-pin + - offline-pin + - consumer-device + - signature + - signature-and-online-pin + - online-pin-and-signature + - none + - failed + example: no-cvm-required + testmode-create: + type: + - boolean + - 'null' + description: |- + Whether to create the entity in test mode or live mode. + + Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be + omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting + `testmode` to `true`. + writeOnly: true + example: false + entity-payment: + type: object + properties: + resource: + type: string + description: Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + readOnly: true + example: payment + id: + $ref: '#/components/schemas/paymentToken' + description: |- + The identifier uniquely referring to this payment. Mollie assigns this identifier at payment creation time. Mollie + will always refer to the payment by this ID. Example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: |- + The description of the payment. This will be shown to your customer on their card or bank statement when possible. + We truncate the description automatically according to the limits of the used payment method. The description is + also visible in any exports you generate. + + We recommend you use a unique identifier so that you can always link the payment to the order in your back office. + This is particularly useful for bookkeeping. + + The maximum length of the description field differs per payment method, with the absolute maximum being 255 + characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + maxLength: 255 + example: Chess Board + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount that you want to charge, e.g. `{currency:"EUR", value:"1000.00"}` if you would want to charge €1000.00. + + You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be + retrieved using the Get method endpoint. + + If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the + tip amount. + amountRefunded: + $ref: '#/components/schemas/amount' + description: |- + The total amount that is already refunded. Only available when refunds are available for this payment. For some + payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the + costs for a return shipment to the customer. + readOnly: true + amountRemaining: + $ref: '#/components/schemas/amount' + description: The remaining amount that can be refunded. Only available when refunds are available for this payment. + readOnly: true + amountCaptured: + $ref: '#/components/schemas/amount' + description: The total amount that is already captured for this payment. Only available when this payment supports captures. + readOnly: true + amountChargedBack: + $ref: '#/components/schemas/amount' + description: |- + The total amount that was charged back for this payment. Only available when the total charged back amount is not + zero. + readOnly: true + settlementAmount: + $ref: '#/components/schemas/amount' + description: |- + This optional field will contain the approximate amount that will be settled to your account, converted to the + currency your account is settled in. + + Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is + settled by Mollie the `settlementAmount` is omitted from the response. + + Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest + using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + readOnly: true + redirectUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to after the payment process. + + It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the + right page referencing the order when your customer returns. + + The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for + Apple Pay payments with an `applePayPaymentToken`. + example: https://example.org/redirect + cancelUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not + provided, the customer will be redirected to the `redirectUrl` instead — see above. + + Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is + therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle + payment cancellations. + example: https://example.org/cancel + webhookUrl: + type: + - string + - 'null' + description: |- + The webhook URL where we will send payment status updates to. + + The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. + + The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use + webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your + local machine. + example: https://example.org/webhooks + lines: + type: + - array + - 'null' + description: |- + Optionally provide the order lines for the payment. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the payment. + + Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + items: + allOf: + - $ref: '#/components/schemas/payment-line-item' + - type: object + properties: + recurring: + $ref: '#/components/schemas/recurring-line-item' + description: |- + The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout + to inform the shopper of the details for recurring products in the payments. + billingAddress: + allOf: + - $ref: '#/components/schemas/payment-address' + - type: object + properties: + organizationName: + description: |- + The name of the organization, in case the addressee is an organization. + + Required for payment method `billie`. + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + shippingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's shipping address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale' + description: |- + Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale + is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser + language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 + locale, but our hosted payment pages currently only support the specified languages. + + For bank transfer payments specifically, the locale will determine the target bank account the customer has to + transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the + customer use a local bank account greatly increases the conversion and speed of payment. + countryCode: + type: + - string + - 'null' + description: |- + This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This + field is omitted if the country code was not detected. + example: BE + minLength: 2 + maxLength: 2 + readOnly: true + method: + $ref: '#/components/schemas/method' + issuer: + type: + - string + - 'null' + description: |- + **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** + + **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information + on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** + + Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment + method, the customer may still need to select the appropriate issuer before the payment can proceed. + + We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API + up front. + + The full list of issuers for a specific method can be retrieved via the Methods API by using the optional + `issuers` include. + + A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + example: ideal_INGBNL2A + writeOnly: true + restrictPaymentMethodsToCountry: + type: + - string + - 'null' + description: |- + For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT + rates you have used for the order to ensure your customer's country matches the VAT country. + + Use this parameter to restrict the payment methods available to your customer to those from a single country. + + If available, the credit card method will still be offered, but only cards from the allowed country are accepted. + + The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + example: NL + metadata: + $ref: '#/components/schemas/metadata' + captureMode: + $ref: '#/components/schemas/capture-mode' + captureDelay: + type: + - string + - 'null' + description: |- + **Only relevant if you wish to manage authorization and capturing separately.** + + Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a + later point either be 'captured' or canceled. + + By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a + capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For + example `8 hours` or `2 days`. + + To schedule an automatic capture, the `captureMode` must be set to `automatic`. + + The maximum delay is 7 days (168 hours). + + Possible values: `... hours` `... days` + example: 8 hours + pattern: ^\d+ (hours|days)$ + captureBefore: + type: + - string + - 'null' + description: |- + Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we + can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + applicationFee: + type: + - object + - 'null' + description: |- + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + If you use OAuth to create payments on a connected merchant's account, you can charge a fee using this + `applicationFee` parameter. If the payment succeeds, the fee will be deducted from the merchant's balance and sent + to your own account balance. + + If instead you want to split a payment on your own account between yourself and a connected merchant, refer to the + `routing` parameter. + properties: + amount: + $ref: '#/components/schemas/amount' + description: |- + The fee that you wish to charge. + + Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge + a €0.99 fee on a €1.00 payment. + description: + type: string + description: |- + The description of the application fee. This will appear on settlement reports towards both you and the + connected merchant. + maxLength: 255 + example: 10 + routing: + type: + - array + - 'null' + description: |- + *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* + + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + If you create payments on your own account that you want to split between yourself and one or more connected + merchants, you can use this `routing` parameter to route the payment accordingly. + + The `routing` parameter should contain an array of objects, with each object describing the destination for a + specific portion of the payment. + + It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total + payment amount have been routed, the amount left will be routed to the current organization automatically. + + If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` + parameter. + items: + $ref: '#/components/schemas/entity-payment-route' + sequenceType: + $ref: '#/components/schemas/sequence-type' + description: |- + **Only relevant for recurring payments.** + + Indicate which part of a recurring sequence this payment is for. + + Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is + through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place + on their account in the future. + + If set to `recurring`, the customer's card is charged automatically. + + Defaults to `oneoff`, which is a regular non-recurring payment. + + For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our + [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account + are set up correctly for recurring payments. + subscriptionId: + type: + - string + - 'null' + $ref: '#/components/schemas/subscriptionToken' + description: |- + If the payment was automatically created via a subscription, the ID of the [subscription](get-subscription) will + be added to the response. + readOnly: true + mandateId: + type: + - string + - 'null' + $ref: '#/components/schemas/mandateToken' + description: |- + **Only relevant for recurring payments.** + + When creating recurring payments, the ID of a specific [mandate](get-mandate) can be supplied to indicate which of + the customer's accounts should be credited. + customerId: + type: + - string + - 'null' + $ref: '#/components/schemas/customerToken' + description: |- + The ID of the [customer](get-customer) the payment is being created for. This is used primarily for recurring + payments, but can also be used on regular payments to enable single-click payments. + + If `sequenceType` is set to `recurring`, this field is required. + profileId: + type: string + $ref: '#/components/schemas/profileToken' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + When using an API Key, the `profileId` can be omitted since it is linked to the key. However, for OAuth and + Organization tokens, the `profileId` is required. + + For more information, see [Authentication](authentication). + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: The identifier referring to the [settlement](get-settlement) this payment was settled with. + readOnly: true + orderId: + type: + - string + - 'null' + $ref: '#/components/schemas/orderToken' + description: If the payment was created for an [order](get-order), the ID of that order will be part of the response. + readOnly: true + status: + $ref: '#/components/schemas/payment-status' + readOnly: true + statusReason: + $ref: '#/components/schemas/status-reason' + isCancelable: + type: + - boolean + - 'null' + description: Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + readOnly: true + example: true + details: + type: + - object + - 'null' + description: |- + An object containing payment details collected during the payment process. For example, details may include the + customer's card or bank details and a payment reference. For the full list of details, please refer to the + [method-specific parameters](extra-payment-parameters) guide. + readOnly: true + properties: + consumerName: + type: + - string + - 'null' + description: The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. + example: John Doe + x-methodSpecific: true + consumerAccount: + type: + - string + - 'null' + description: |- + The customer's account reference. + + For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account + number. + + For PayPal, the account reference is an email address. + + For card and Bancontact payments, refer to details.cardNumber. + example: NL91ABNA0417164300 + x-methodSpecific: true + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank account, if applicable. + example: ABNANL2A + x-methodSpecific: true + shippingAddress: + type: + - object + - 'null' + description: |- + For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the + wallet provider. In these cases the shipping address may be available as a payment detail. + properties: {} + additionalProperties: true + x-methodSpecific: true + cardNumber: + type: + - string + - 'null' + description: |- + For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the + PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. + example: '************1234' + x-methodSpecific: true + bankName: + type: string + description: The name of the bank that the customer will need to make the bank transfer payment towards. + example: Mollie Bank + x-methodSpecific: true + bankAccount: + type: string + description: The bank account number the customer will need to make the bank transfer payment towards. + example: NL91ABNA0417164300 + x-methodSpecific: true + bankBic: + type: string + description: The BIC of the bank the customer will need to make the bank transfer payment towards. + example: ABNANL2A + x-methodSpecific: true + transferReference: + type: + - string + - 'null' + description: |- + The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any + formatting here; show it to the customer as-is. + example: ... + x-methodSpecific: true + cardFingerprint: + type: + - string + - 'null' + description: |- + A unique fingerprint for a specific card. Can be used to identify returning customers. + + In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, + linking multiple transactions from wallets and physical card to a single account, also across payment methods + or when the card is reissued. + example: ... + x-methodSpecific: true + cardHolder: + type: + - string + - 'null' + description: The customer's name as shown on their card. + example: John Doe + x-methodSpecific: true + cardAudition: + $ref: '#/components/schemas/payment-details-card-audition' + x-methodSpecific: true + cardLabel: + $ref: '#/components/schemas/payment-details-card-label' + x-methodSpecific: true + cardCountryCode: + type: + - string + - 'null' + description: The ISO 3166-1 alpha-2 country code of the country the card was issued in. + example: NL + x-methodSpecific: true + cardExpiryDate: + type: + - string + - 'null' + description: The expiry date (MM/YY) of the card as displayed on the card. + example: 12/25 + x-methodSpecific: true + cardFunding: + $ref: '#/components/schemas/payment-details-card-funding' + x-methodSpecific: true + cardSecurity: + $ref: '#/components/schemas/payment-details-card-security' + x-methodSpecific: true + feeRegion: + $ref: '#/components/schemas/payment-details-fee-region' + x-methodSpecific: true + cardMaskedNumber: + type: + - string + - 'null' + description: The first 6 and last 4 digits of the card number. + example: ... + x-methodSpecific: true + card3dsEci: + type: + - string + - 'null' + description: The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). + example: ... + x-methodSpecific: true + cardBin: + type: + - string + - 'null' + description: The first 6 digit of the card bank identification number. + example: ... + x-methodSpecific: true + cardIssuer: + type: + - string + - 'null' + description: The issuer of the Card. + example: ... + x-methodSpecific: true + failureReason: + $ref: '#/components/schemas/payment-details-failure-reason' + x-methodSpecific: true + failureMessage: + type: + - string + - 'null' + description: |- + A human-friendly failure message that can be shown to the customer. The message is translated in accordance + with the payment's locale setting. + example: Your card was declined. + x-methodSpecific: true + wallet: + $ref: '#/components/schemas/payment-details-wallet' + x-methodSpecific: true + paypalReference: + type: + - string + - 'null' + description: PayPal's reference for the payment. + example: ... + x-methodSpecific: true + paypalPayerId: + type: + - string + - 'null' + description: ID of the customer's PayPal account. + example: ... + x-methodSpecific: true + sellerProtection: + $ref: '#/components/schemas/payment-details-seller-protection' + x-methodSpecific: true + paypalFee: + $ref: '#/components/schemas/amount-nullable' + description: |- + An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if + PayPal will not charge a fee for this transaction. + x-methodSpecific: true + customerReference: + type: string + description: The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. + example: ... + x-methodSpecific: true + terminalId: + type: string + description: The ID of the terminal device where the payment took place on. + example: term_12345 + x-methodSpecific: true + maskedNumber: + type: + - string + - 'null' + description: The first 6 digits & last 4 digits of the customer's masked card number. + example: ... + x-methodSpecific: true + receipt: + type: object + description: The Point of sale receipt object. + properties: + authorizationCode: + type: + - string + - 'null' + description: A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. + example: ... + applicationIdentifier: + type: + - string + - 'null' + description: The unique number that identifies a specific payment application on a chip card. + example: ... + cardReadMethod: + $ref: '#/components/schemas/payment-details-receipt-card-read-method' + cardVerificationMethod: + $ref: '#/components/schemas/payment-details-receipt-card-verification-method' + x-methodSpecific: true + creditorIdentifier: + type: + - string + - 'null' + description: |- + The creditor identifier indicates who is authorized to execute the payment. In this case, it is a + reference to Mollie. + example: ... + x-methodSpecific: true + dueDate: + type: + - string + - 'null' + format: date + description: Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. + example: '2025-01-01' + x-methodSpecific: true + signatureDate: + type: + - string + - 'null' + format: date + description: |- + Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment + has been signed. + example: '2024-03-20' + x-methodSpecific: true + bankReasonCode: + type: + - string + - 'null' + description: |- + The official reason why this payment has failed. A detailed description of each reason is available on the + website of the European Payments Council. + example: ... + x-methodSpecific: true + bankReason: + type: + - string + - 'null' + description: A human-friendly description of the failure reason. + example: ... + x-methodSpecific: true + endToEndIdentifier: + type: + - string + - 'null' + description: The end-to-end identifier you provided in the batch file. + example: ... + x-methodSpecific: true + mandateReference: + type: + - string + - 'null' + description: The mandate reference you provided in the batch file. + example: ... + x-methodSpecific: true + batchReference: + type: + - string + - 'null' + description: The batch reference you provided in the batch file. + example: ... + x-methodSpecific: true + fileReference: + type: + - string + - 'null' + description: The file reference you provided in the batch file. + example: ... + x-methodSpecific: true + qrCode: + type: object + description: |- + Optional include. If a QR code was requested during payment creation for a QR-compatible payment method, + the QR code details will be available in this object. + + The QR code can be scanned by the customer to complete the payment on their mobile device. For example, + Bancontact QR payments can be completed by the customer using the Bancontact app. + properties: + height: + type: integer + description: The height of the QR code image in pixels. + example: 300 + width: + type: integer + description: The width of the QR code image in pixels. + example: 300 + src: + type: string + description: |- + The URL to the QR code image. The image is a PNG file, and can be displayed directly in the browser or + downloaded. + example: https://www.mollie.com/images/qr-code.png + x-methodSpecific: true + voucherNumber: + type: string + description: 'For payments with gift cards: the masked gift card number of the first gift card applied to the payment.' + example: ... + x-methodSpecific: true + giftcards: + type: array + description: An array of detail objects for each gift card that was used on this payment, if any. + items: + type: object + properties: {} + additionalProperties: true + x-methodSpecific: true + issuer: + type: string + description: 'For payments with vouchers: the brand name of the first voucher applied.' + example: ... + x-methodSpecific: true + vouchers: + type: array + description: An array of detail objects for each voucher that was used on this payment, if any. + items: + type: object + properties: {} + additionalProperties: true + x-methodSpecific: true + remainderAmount: + $ref: '#/components/schemas/amount' + description: An amount object for the amount that remained after all gift cards or vouchers were applied. + x-methodSpecific: true + remainderMethod: + type: string + description: The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. + example: creditcard + x-methodSpecific: true + remainderDetails: + type: object + description: Optional include. The full payment method details of the remainder payment. + properties: {} + additionalProperties: true + x-methodSpecific: true + createdAt: + $ref: '#/components/schemas/created-at' + authorizedAt: + type: + - string + - 'null' + description: |- + The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is + not authorized (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + paidAt: + type: + - string + - 'null' + description: |- + The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not + completed (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + canceledAt: + type: + - string + - 'null' + description: |- + The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not + canceled (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + expiresAt: + type: + - string + - 'null' + description: |- + The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no + longer expire. + readOnly: true + example: '2024-03-20T09:28:37.0Z' + expiredAt: + type: + - string + - 'null' + description: |- + The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not + expire (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + failedAt: + type: + - string + - 'null' + description: |- + The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail + (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + dueDate: + type: string + description: The date by which the payment should be completed in `YYYY-MM-DD` format + example: '2025-01-01' + writeOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - dashboard + properties: + self: + $ref: '#/components/schemas/url' + checkout: + $ref: '#/components/schemas/url' + description: The URL your customer should visit to make the payment. This is where you should redirect the customer to. + mobileAppCheckout: + $ref: '#/components/schemas/url' + description: The deeplink URL to the app of the payment method. Currently only available for `bancontact`. + x-methodSpecific: true + changePaymentState: + $ref: '#/components/schemas/url' + description: |- + For test mode payments in certain scenarios, a hosted interface is available to help you test different + payment states. + + Firstly, for recurring test mode payments. Recurring payments do not have a checkout URL, because these + payments are executed without any user interaction. + + Secondly, for paid test mode payments. The payment state screen will then allow you to create a refund or + chargeback for the test payment. + dashboard: + $ref: '#/components/schemas/url' + description: Direct link to the payment in the Mollie Dashboard. + refunds: + $ref: '#/components/schemas/url' + description: The API resource URL of the [refunds](list-payment-refunds) that belong to this payment. + chargebacks: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [chargebacks](list-payment-chargebacks) that belong to this + payment. + captures: + $ref: '#/components/schemas/url' + description: The API resource URL of the [captures](list-payment-captures) that belong to this payment. + settlement: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [settlement](get-settlement) this payment has been settled with. + Not present if not yet settled. + customer: + $ref: '#/components/schemas/url' + description: The API resource URL of the [customer](get-customer). + mandate: + $ref: '#/components/schemas/url' + description: The API resource URL of the [mandate](get-mandate). + subscription: + $ref: '#/components/schemas/url' + description: The API resource URL of the [subscription](get-subscription). + order: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [order](get-order) this payment was created for. Not present if not created for an + order. + terminal: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [terminal](get-terminal) this payment was created for. Only present for + point-of-sale payments. + documentation: + $ref: '#/components/schemas/url' + status: + $ref: '#/components/schemas/url' + description: |- + Link to customer-facing page showing the status of the bank transfer (to verify if the transaction was + successful). + x-methodSpecific: true + payOnline: + $ref: '#/components/schemas/url' + description: |- + Link to Mollie Checkout page allowing customers to select a different payment method instead of legacy + bank transfer. + x-methodSpecific: true + readOnly: true + payment-response: + allOf: + - $ref: '#/components/schemas/entity-payment-response' + required: + - resource + - id + - mode + - createdAt + - amount + - description + - status + - profileId + - sequenceType + - _links + - type: object + properties: + method: + $ref: '#/components/schemas/method-response' + description: |- + The payment method used for this transaction. If a specific method was selected during payment initialization, + this field reflects that choice. + x-speakeasy-unknown-values: allow + capture-status: + type: string + description: The capture's status. + enum: + - pending + - succeeded + - failed + example: succeeded + x-speakeasy-unknown-values: allow + shipmentToken: + type: string + example: shp_5x4xQJDWGNcY3tKGL7X5J + entity-capture: + type: object + properties: + resource: + type: string + description: Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. + readOnly: true + example: capture + id: + $ref: '#/components/schemas/captureToken' + description: 'The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: The description of the capture. + maxLength: 255 + example: 'Capture for cart #12345' + amount: + $ref: '#/components/schemas/amount-nullable' + description: The amount captured. If no amount is provided, the full authorized amount is captured. + settlementAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + This optional field will contain the approximate amount that will be settled to your account, converted to the + currency your account is settled in. + + Since the field contains an estimated amount during capture processing, it may change over time. To retrieve + accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) + instead. + readOnly: true + status: + $ref: '#/components/schemas/capture-status' + readOnly: true + metadata: + $ref: '#/components/schemas/metadata' + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + shipmentId: + type: + - string + - 'null' + $ref: '#/components/schemas/shipmentToken' + description: |- + The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example: + `shp_gNapNy9qQTUFZYnCrCF7J`. + readOnly: true + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: |- + The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field + is omitted if the capture is not settled (yet). + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + - documentation + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that this capture belongs to. + settlement: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [settlement](get-settlement) this capture has been settled with. Not present if + not yet settled. + shipment: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [shipment](get-shipment) this capture is associated with. Not present if + it isn't associated with a shipment. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + capture-response: + allOf: + - $ref: '#/components/schemas/entity-capture-response' + required: + - resource + - id + - mode + - amount + - status + - createdAt + - paymentId + - _links + x-speakeasy-unknown-values: allow + refund-status: + type: string + enum: + - queued + - pending + - processing + - refunded + - failed + - canceled + example: queued + x-speakeasy-unknown-values: allow + refund-external-reference-type: + type: string + description: Specifies the reference type + enum: + - acquirer-reference + example: acquirer-reference + refund-routing-reversals-source-type: + type: string + description: The type of source. Currently only the source type `organization` is supported. + enum: + - organization + example: organization + entity-refund: + type: object + required: + - resource + - id + - mode + - amount + - status + - createdAt + - description + - metadata + - _links + properties: + resource: + type: string + description: Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. + readOnly: true + example: refund + id: + $ref: '#/components/schemas/refundToken' + description: |- + The identifier uniquely referring to this refund. Mollie assigns this identifier at refund creation time. Mollie + will always refer to the refund by this ID. Example: `re_4qqhO89gsT`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: The description of the refund that may be shown to your customer, depending on the payment method used. + maxLength: 255 + example: Refunding a Chess Board + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment + amount. + settlementAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + This optional field will contain the approximate amount that will be deducted from your account balance, converted + to the currency your account is settled in. + + The amount is a **negative** amount. + + If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be + zero. + + Since the field contains an estimated amount during refund processing, it may change over time. For example, while + the refund is queued the settlement amount is likely not yet available. + + To retrieve accurate settlement amounts we recommend using the + [List balance transactions endpoint](list-balance-transactions) instead. + readOnly: true + metadata: + $ref: '#/components/schemas/metadata' + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment this refund was created for. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: The identifier referring to the settlement this refund was settled with. This field is omitted if the refund is not settled (yet). + readOnly: true + status: + $ref: '#/components/schemas/refund-status' + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + externalReference: + type: object + properties: + type: + $ref: '#/components/schemas/refund-external-reference-type' + id: + type: string + description: Unique reference from the payment provider + example: 123456789012345 + reverseRouting: + type: + - boolean + - 'null' + description: |- + *This feature is only available to marketplace operators.* + + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants, by providing the `routing` object during [payment creation](create-payment). + + When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. + + If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to + `true` when issuing a full refund. + + For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. + writeOnly: true + example: false + routingReversals: + type: + - array + - 'null' + description: |- + *This feature is only available to marketplace operators.* + + When creating refunds for *routed* payments, by default the full amount is deducted from your balance. + + If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount + needs to be reversed from which merchant(s). + + If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. + items: + type: object + properties: + amount: + $ref: '#/components/schemas/amount' + description: The amount that will be pulled back. + source: + type: object + description: Where the funds will be pulled back from. + properties: + type: + $ref: '#/components/schemas/refund-routing-reversals-source-type' + writeOnly: true + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for source type `organization`. The ID of the connected organization the funds should be pulled + back from. + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + - documentation + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that this refund belongs to. + settlement: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [settlement](get-settlement) this refund has been settled with. Not present if not + yet settled. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + entity-chargeback: + type: object + required: + - resource + - id + - amount + - createdAt + - paymentId + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a chargeback object. Will always contain the string `chargeback` for this + endpoint. + readOnly: true + example: chargeback + id: + $ref: '#/components/schemas/chargebackToken' + description: 'The identifier uniquely referring to this chargeback. Example: `chb_n9z0tp`.' + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: The amount charged back by the customer. + settlementAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + This optional field will contain the approximate amount that will be deducted from your account balance, converted + to the currency your account is settled in. + + The amount is a **negative** amount. + + Since the field contains an estimated amount during chargeback processing, it may change over time. To retrieve + accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) + instead. + readOnly: true + reason: + type: + - object + - 'null' + description: Reason for the chargeback as given by the bank. Only available for chargebacks of SEPA Direct Debit payments. + required: + - code + - description + properties: + code: + type: string + description: Technical code provided by the bank. + example: AC01 + description: + type: string + description: A more detailed human-friendly description. + example: Account identifier incorrect (i.e. invalid IBAN) + readOnly: true + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment this chargeback was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: |- + The identifier referring to the settlement this payment was settled with. For example, `stl_BkEjN2eBb`. This field + is omitted if the refund is not settled (yet). + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + reversedAt: + type: + - string + - 'null' + description: |- + The date and time the chargeback was reversed if applicable, in + [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + example: '2024-03-21T09:13:37.0Z' + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + - documentation + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that this chargeback belongs to. + settlement: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [settlement](get-settlement) this chargeback has been settled with. Not present if + not yet settled. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + invoice-status: + type: string + description: Status of the invoice. + enum: + - open + - paid + - overdue + x-enumDescriptions: + open: The invoice is not paid yet. + paid: The invoice is paid. + overdue: Payment of the invoice is overdue. + x-speakeasy-unknown-values: allow + entity-invoice: + type: object + properties: + resource: + type: string + description: |- + Indicates that the response contains an invoice object. + Will always contain the string `invoice` for this endpoint. + readOnly: true + example: invoice + id: + type: string + description: 'The identifier uniquely referring to this invoice. Example: `inv_FrvewDA3Pr`.' + readOnly: true + reference: + type: string + description: 'The reference number of the invoice. An example value would be: `2024.10000`.' + readOnly: true + vatNumber: + type: + - string + - 'null' + description: The VAT number to which the invoice was issued to, if applicable. + readOnly: true + status: + $ref: '#/components/schemas/invoice-status' + readOnly: true + netAmount: + $ref: '#/components/schemas/amount' + description: Total amount of the invoice, excluding VAT. + readOnly: true + vatAmount: + $ref: '#/components/schemas/amount' + description: |- + VAT amount of the invoice. Only applicable to merchants registered in the Netherlands. For EU merchants, VAT will + be shifted to the recipient (as per article 44 and 196 in the EU VAT Directive 2006/112). For merchants outside + the EU, no VAT will be charged. + readOnly: true + grossAmount: + $ref: '#/components/schemas/amount' + description: Total amount of the invoice, including VAT. + readOnly: true + lines: + type: array + description: The collection of products which make up the invoice. + items: + type: object + properties: + period: + type: string + description: The administrative period in `YYYY-MM` on which the line should be booked. + description: + type: string + description: Description of the product. + count: + type: integer + description: Number of products invoiced. For example, the number of payments. + vatPercentage: + type: integer + description: VAT percentage rate that applies to this product. + amount: + $ref: '#/components/schemas/amount' + description: Line item amount excluding VAT. + readOnly: true + issuedAt: + type: string + description: The invoice date in `YYYY-MM-DD` format. + readOnly: true + paidAt: + type: + - string + - 'null' + description: The date on which the invoice was paid, if applicable, in `YYYY-MM-DD` format. + readOnly: true + dueAt: + type: + - string + - 'null' + description: The date on which the invoice is due, if applicable, in `YYYY-MM-DD` format. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + description: URL to the current invoice resource. + pdf: + $ref: '#/components/schemas/url' + description: URL to a downloadable PDF of the invoice. + documentation: + $ref: '#/components/schemas/url' + description: URL to the API documentation. + readOnly: true + x-speakeasy-unknown-values: allow + permissionToken: + type: string + example: payments.read + entity-permission: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a permission object. Will always contain the string `permission` for this + endpoint. + readOnly: true + example: permission + id: + $ref: '#/components/schemas/permissionToken' + description: 'The identifier uniquely referring to this permission. Example: `payments.read`.' + readOnly: true + description: + type: string + description: A short description of what kind of access the permission enables. + example: View your payments + readOnly: true + granted: + type: boolean + description: Whether this permission is granted to the app by the organization. + example: true + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + address: + type: object + properties: + streetAndNumber: + type: string + description: A street and street number. + postalCode: + type: string + description: A postal code. This field may be required if the provided country has a postal code system. + city: + type: string + country: + type: string + description: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + organization-vat-regulation: + type: + - string + - 'null' + description: |- + Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United + Kingdom, and shifted VAT for merchants in the European Union. + + The field is not present for merchants residing in other countries. + enum: + - dutch + - british + - shifted + example: dutch + x-speakeasy-unknown-values: allow + entity-organization: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains an organization object. Will always contain the string `organization` for this + resource type. + readOnly: true + example: organization + id: + type: string + description: 'The identifier uniquely referring to this organization. Example: `org_12345678`.' + readOnly: true + name: + type: string + description: The name of the organization. + readOnly: true + email: + type: string + description: The email address associated with the organization. + readOnly: true + locale: + type: string + $ref: '#/components/schemas/locale-response' + description: The preferred locale of the merchant, as set in their Mollie dashboard. + readOnly: true + address: + $ref: '#/components/schemas/address' + description: The address of the organization. + registrationNumber: + type: string + description: The registration number of the organization at their local chamber of commerce. + vatNumber: + type: + - string + - 'null' + description: |- + The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are + verified against the international registry *VIES*. + + The field is not present for merchants residing in other countries. + vatRegulation: + $ref: '#/components/schemas/organization-vat-regulation' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + description: Direct link to the organization's Mollie dashboard. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + profile-status: + type: string + description: |- + The profile status determines whether the profile is able to receive live payments. + + * `unverified`: The profile has not been verified yet and can only be used to create test payments. + * `verified`: The profile has been verified and can be used to create live payments and test payments. + * `blocked`: The profile is blocked and can no longer be used or changed. + enum: + - unverified + - verified + - blocked + example: unverified + x-speakeasy-unknown-values: allow + profile-review-status: + type: string + description: The status of the requested changes. + enum: + - pending + - rejected + example: pending + entity-profile: + type: object + properties: + resource: + type: string + description: Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. + readOnly: true + example: profile + id: + type: string + description: 'The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`.' + readOnly: true + example: pfl_QkEhN94Ba + mode: + $ref: '#/components/schemas/mode' + example: live + name: + type: string + description: |- + The profile's name, this will usually reflect the trade name or brand name of the profile's website or + application. + example: My website name + website: + type: string + description: |- + The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are + allowed. + example: https://example.com + email: + type: string + description: The email address associated with the profile's trade name or brand. + example: test@mollie.com + phone: + type: string + description: The phone number associated with the profile's trade name or brand. + example: '+31208202070' + description: + type: string + description: The products or services offered by the profile's website or application. + example: My website description + maxLength: 500 + countriesOfActivity: + type: array + items: + type: string + description: |- + A list of countries where you expect that the majority of the profile's customers reside, + in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + example: + - NL + - GB + businessCategory: + type: string + description: |- + The industry associated with the profile's trade name or brand. Please refer to the + [business category list](common-data-types#business-category) for all possible options. + example: OTHER_MERCHANDISE + status: + $ref: '#/components/schemas/profile-status' + readOnly: true + review: + type: object + description: |- + Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved + automatically, unless a switch to a live profile has been requested. The review object will therefore usually be + `null` in test mode. + properties: + status: + $ref: '#/components/schemas/profile-review-status' + readOnly: true + example: + status: pending + createdAt: + $ref: '#/components/schemas/created-at' + example: '2022-01-19T12:30:22+00:00' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + description: Link to the profile in the Mollie dashboard. + chargebacks: + $ref: '#/components/schemas/url' + description: The API resource URL of the chargebacks that belong to this profile. + methods: + $ref: '#/components/schemas/url' + description: The API resource URL of the methods that are enabled for this profile. + payments: + $ref: '#/components/schemas/url' + description: The API resource URL of the payments that belong to this profile. + refunds: + $ref: '#/components/schemas/url' + description: The API resource URL of the refunds that belong to this profile. + checkoutPreviewUrl: + $ref: '#/components/schemas/url' + description: The hosted checkout preview URL. You need to be logged in to access this page. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + example: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/settings/profiles/pfl_2q3RyuMGry + type: text/html + chargebacks: + href: https://api.mollie.com/v2/chargebacks?profileId=pfl_2q3RyuMGry + type: application/hal+json + methods: + href: https://api.mollie.com/v2/methods?profileId=pfl_2q3RyuMGry + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments?profileId=pfl_2q3RyuMGry + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds?profileId=pfl_2q3RyuMGry + type: application/hal+json + checkoutPreviewUrl: + href: https://www.mollie.com/checkout/preview/pfl_2q3RyuMGry + type: text/html + documentation: + href: ... + type: text/html + onboarding-status: + type: string + description: The current status of the organization's onboarding process. + enum: + - needs-data + - in-review + - completed + x-enumDescriptions: + needs-data: The merchant needs to provide additional information + in-review: The merchant provided all information, awaiting review from Mollie + completed: The onboarding is completed + x-speakeasy-unknown-values: allow + entity-onboarding-status: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains an onboarding status object. Will always contain the string `onboarding` for this + resource type. + readOnly: true + example: onboarding + name: + type: string + description: The name of the organization. + readOnly: true + status: + $ref: '#/components/schemas/onboarding-status' + readOnly: true + canReceivePayments: + type: boolean + description: Whether the organization can receive payments. + readOnly: true + canReceiveSettlements: + type: boolean + description: Whether the organization can receive settlements to their external bank account. + readOnly: true + signedUpAt: + type: string + description: The sign up date time of the organization in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + description: |- + Direct link to the onboarding process in the Mollie dashboard. The merchant can be redirected to this page to + complete their onboarding. + organization: + $ref: '#/components/schemas/url' + description: The API resource URL of the organization. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + capability-status: + type: string + enum: + - unrequested + - enabled + - disabled + - pending + example: pending + x-speakeasy-unknown-values: allow + capability-status-reason: + type: string + enum: + - requirement-past-due + - onboarding-information-needed + example: requirement-past-due + x-speakeasy-unknown-values: allow + capability-requirement-status: + type: string + description: |- + The status of the requirement depends on its due date. + If no due date is given, the status will be `requested`. + enum: + - currently-due + - past-due + - requested + example: past-due + x-speakeasy-unknown-values: allow + entity-capability-requirement: + type: object + properties: + id: + type: string + description: |- + The name of this requirement, referring to the task to be fulfilled by the organization + to enable or re-enable the capability. The name is unique among other requirements + of the same capability. + example: legal-representatives + status: + $ref: '#/components/schemas/capability-requirement-status' + dueDate: + type: string + description: Due date until the requirement must be fulfilled, if any. The date is shown in ISO-8601 format. + example: '2024-01-01T12:00:00+00:00' + nullable: true + _links: + type: object + required: [] + properties: + dashboard: + type: object + properties: + href: + type: string + description: The actual URL string. + type: + type: string + description: The content type of the page or endpoint the URL points to. + description: |- + If known, a deep link to the Mollie dashboard of the client, where the requirement can be fulfilled. + For example, where necessary documents are to be uploaded. + example: + href: https://my.mollie.com/dashboard/... + type: text/html + x-speakeasy-unknown-values: allow + entity-capability: + type: object + properties: + resource: + type: string + description: Always the word `capability` for this resource type. + example: capability + name: + type: string + description: A unique name for this capability like `payments` / `settlements`. + example: payments + status: + $ref: '#/components/schemas/capability-status' + statusReason: + $ref: '#/components/schemas/capability-status-reason' + nullable: true + requirements: + type: array + items: + $ref: '#/components/schemas/entity-capability-requirement' + x-speakeasy-unknown-values: allow + entity-client: + type: object + properties: + resource: + type: string + description: Indicates the response contains a client object. Will always contain the string `client` for this resource type. + readOnly: true + example: client + id: + type: string + description: 'The identifier uniquely referring to this client. Example: `org_12345678`.' + readOnly: true + commission: + type: object + description: The commission object. + nullable: true + properties: + count: + type: integer + description: The commission count. + organizationCreatedAt: + type: string + description: |- + The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + organization: + $ref: '#/components/schemas/url' + description: The API resource URL of the client's organization. + onboarding: + $ref: '#/components/schemas/url' + description: The API resource URL of the client's onboarding status. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + entity-client-link: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a client link object. Will always contain the string `client-link` for this + endpoint. + readOnly: true + example: client-link + id: + type: string + description: 'The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`.' + readOnly: true + example: cl_vZCnNQsV2UtfXxYifWKWH + owner: + type: object + description: Personal data of your customer. + properties: + email: + type: string + description: The email address of your customer. + example: john@example.org + givenName: + type: string + description: The given name (first name) of your customer. + example: John + familyName: + type: string + description: The family name (surname) of your customer. + example: Doe + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale-response' + description: |- + Preset the language to be used for the login screen, if applicable. For the consent screen, the preferred + language of the logged in merchant will be used and this parameter is ignored. + + When this parameter is omitted, the browser language will be used instead. + required: + - email + - givenName + - familyName + writeOnly: true + name: + type: string + description: Name of the organization. + example: Acme Corporation + writeOnly: true + address: + type: object + description: Address of the organization. + properties: + streetAndNumber: + type: + - string + - 'null' + description: The street name and house number of the organization. + example: Main Street 123 + postalCode: + type: + - string + - 'null' + description: |- + The postal code of the organization. Required if a street address is provided and if the country has a postal + code system. + example: 1234AB + city: + type: + - string + - 'null' + description: The city of the organization. Required if a street address is provided. + example: Amsterdam + country: + type: string + description: |- + The country of the address in + [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + example: NL + required: + - country + writeOnly: true + registrationNumber: + type: + - string + - 'null' + description: The registration number of the organization at their local chamber of commerce. + example: 12345678 + writeOnly: true + vatNumber: + type: + - string + - 'null' + description: |- + The VAT number of the organization, if based in the European Union. VAT numbers are verified against the + international registry *VIES*. + example: 123456789B01 + writeOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + clientLink: + $ref: '#/components/schemas/url' + description: |- + The link you can send your customer to, where they can either log in and link their account, or sign up and + proceed with onboarding. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + webhook-event-types: + type: string + description: The event's type + x-speakeasy-name-override: webhook-event-types + enum: + - payment-link.paid + - balance-transaction.created + - sales-invoice.created + - sales-invoice.issued + - sales-invoice.canceled + - sales-invoice.paid + - '*' + x-enumDescriptions: + payment-link.paid: Occurs when a payment link has been paid. + balance-transaction.created: Occurs when a balance transaction is created to add to your available balance. It currently only supports positive amounts and non-captured payments. + sales-invoice.created: Occurs when a sales invoice has been created. + sales-invoice.issued: Occurs when a sales invoice has been issued. + sales-invoice.canceled: Occurs when a sales invoice has been canceled. + sales-invoice.paid: Occurs when a sales invoice has been paid. + '*': All event types. + example: payment-link.paid + webhook-status: + type: string + description: The subscription's current status. + enum: + - enabled + - blocked + - disabled + - deleted + example: enabled + x-speakeasy-unknown-values: allow + entity-webhook: + type: object + required: + - resource + - id + - url + - createdAt + - name + - eventTypes + - status + - mode + - profileId + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a webhook subscription object. + Will always contain the string `webhook` for this endpoint. + readOnly: true + example: webhook + id: + type: string + description: The identifier uniquely referring to this subscription. + readOnly: true + example: hook_tNP6fpF9fLJpFWziRcgiH + url: + type: string + description: The subscription's events destination. + example: https://example.com/webhook-endpoint + profileId: + type: + - string + - 'null' + description: The identifier uniquely referring to the profile that created the subscription. + readOnly: true + example: pfl_YyoaNFjtHc + createdAt: + type: string + description: The subscription's date time of creation. + readOnly: true + example: '2023-03-15T10:00:00Z' + name: + type: string + description: The subscription's name. + example: Profile Updates Webhook + eventTypes: + type: array + items: + $ref: '#/components/schemas/webhook-event-types-response' + description: The events types that are subscribed. + example: + - profile.create + - profile.blocked + status: + $ref: '#/components/schemas/webhook-status' + mode: + $ref: '#/components/schemas/mode' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + create-webhook: + type: object + required: + - resource + - id + - url + - profileId + - createdAt + - name + - eventTypes + - status + - mode + - webhookSecret + - _links + properties: + resource: + type: string + description: Indicates the response contains a webhook subscription object. Will always contain the string `webhook` for this endpoint. + readOnly: true + example: webhook + id: + type: string + description: The identifier uniquely referring to this subscription. + readOnly: true + example: hook_tNP6fpF9fLJpFWziRcgiH + url: + type: string + description: The subscription's events destination. + example: https://example.com/webhook-endpoint + profileId: + type: + - string + - 'null' + description: The identifier uniquely referring to the profile that created the subscription. + readOnly: true + example: pfl_YyoaNFjtHc + createdAt: + type: string + description: The subscription's date time of creation. + readOnly: true + example: '2023-01-01T12:00:00Z' + name: + type: string + description: The subscription's name. + example: Profile Updates Webhook + eventTypes: + type: array + items: + $ref: '#/components/schemas/webhook-event-types-response' + description: The events types that are subscribed. + example: + - sales-invoice.paid, sales-invoice.canceled + status: + $ref: '#/components/schemas/webhook-status' + mode: + $ref: '#/components/schemas/mode' + webhookSecret: + type: string + description: The subscription's secret. + example: secret + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + testmode: + type: + - boolean + - 'null' + description: |- + Most API credentials are specifically created for either live mode or test mode. For organization-level credentials + such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + + Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + writeOnly: true + example: false + paymentLinkToken: + type: string + example: pl_d9fQur83kFdhH8hIhaZfq + payment-link-methods: + type: + - array + - 'null' + description: |- + An array of payment methods that are allowed to be used for this payment link. When this parameter is + not provided or is an empty array, all enabled payment methods will be available. + + Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', + 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', + 'in3', 'riverty', 'klarna', 'billie'. + items: + type: string + example: ideal + payment-link-sequence-type: + type: string + enum: + - oneoff + - first + example: oneoff + entity-payment-link: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a payment link object. Will always contain the string `payment-link` for this + endpoint. + readOnly: true + example: payment-link + id: + $ref: '#/components/schemas/paymentLinkToken' + description: 'The identifier uniquely referring to this payment link. Example: `pl_4Y0eZitmBnQ6IDoMqZQKh`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: |- + A short description of the payment link. The description is visible in the Dashboard and will be shown on the + customer's bank or card statement when possible. + maxLength: 255 + example: Chess Board + amount: + $ref: '#/components/schemas/amount-nullable' + description: |- + The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an + amount. + minimumAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + The minimum amount of the payment link. This property is only allowed when there is no amount provided. The + customer will be prompted to enter a value greater than or equal to the minimum amount. + archived: + type: boolean + description: Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + example: false + readOnly: true + redirectUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, + the customer will be shown a generic message after completing the payment. + example: https://webshop.example.org/payment-links/redirect/ + webhookUrl: + type: + - string + - 'null' + description: |- + The webhook URL where we will send payment status updates to. + + The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments + resulting from the payment link. + + The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use + webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your + local machine. + example: https://webshop.example.org/payment-links/webhook/ + lines: + type: + - array + - 'null' + description: |- + Optionally provide the order lines for the payment. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the payment. + + Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + items: + $ref: '#/components/schemas/payment-line-item-response' + billingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + shippingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's shipping address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + profileId: + type: + - string + - 'null' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + example: pfl_QkEhN94Ba + reusable: + type: + - boolean + - 'null' + description: |- + Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple + payments using the same link. + + If no value is specified, the field defaults to `false`, allowing only a single payment per link. + example: false + createdAt: + $ref: '#/components/schemas/created-at' + paidAt: + type: + - string + - 'null' + description: The date and time the payment link became paid, in ISO 8601 format. + example: '2025-12-24T11:00:16+00:00' + readOnly: true + expiresAt: + type: + - string + - 'null' + description: |- + The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, + the payment link will not expire automatically. + example: '2025-12-24T11:00:16+00:00' + allowedMethods: + $ref: '#/components/schemas/payment-link-methods' + applicationFee: + type: object + description: |- + With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie + merchants. + + If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this + `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent + to your own account balance. + required: + - amount + - description + properties: + amount: + $ref: '#/components/schemas/amount' + description: |- + The fee that you wish to charge. + + Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge + a €0.99 fee on a €1.00 payment. + description: + type: string + description: |- + The description of the application fee. This will appear on settlement reports towards both you and the + connected merchant. + maxLength: 255 + example: Platform fee + sequenceType: + $ref: '#/components/schemas/payment-link-sequence-type-response' + description: |- + If set to `first`, a payment mandate is established right after a payment is made by the customer. + + Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. + + The mandate ID can be retrieved by making a call to the + [Payment Link Payments Endpoint](get-payment-link-payments). + customerId: + type: + - string + - 'null' + description: |- + **Only relevant when `sequenceType` is set to `first`** + + The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, + the customer will be required to input relevant information which will be used to establish a mandate after + the payment is made. + example: cst_XimFHuaEzd + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - paymentLink + properties: + self: + $ref: '#/components/schemas/url' + paymentLink: + $ref: '#/components/schemas/url' + description: The URL your customer should visit to make the payment. This is where you should redirect the customer to. + readOnly: true + x-speakeasy-unknown-values: allow + payment-link-response: + allOf: + - $ref: '#/components/schemas/entity-payment-link' + required: + - resource + - id + - mode + - description + - archived + - reusable + - profileId + - amount + - webhookUrl + - redirectUrl + - createdAt + - paidAt + - expiresAt + - allowedMethods + - _links + x-speakeasy-unknown-values: allow + entity-webhook-event: + type: object + required: + - resource + - id + - type + - entityId + - createdAt + - _links + properties: + resource: + type: string + description: Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint. + readOnly: true + example: event + id: + type: string + description: The identifier uniquely referring to this event. + readOnly: true + example: event_GvJ8WHrp5isUdRub9CJyH + type: + $ref: '#/components/schemas/webhook-event-types-response' + readOnly: true + entityId: + type: string + description: The entity token that triggered the event + readOnly: true + example: pl_qng5gbbv8NAZ5gpM5ZYgx + createdAt: + type: string + description: The event's date time of creation. + readOnly: true + example: '2024-06-10T14:23:45Z' + _embedded: + type: + - object + - 'null' + description: Full payload of the event. + readOnly: true + properties: + entity: + oneOf: + - title: payment-link + $ref: '#/components/schemas/payment-link-response' + - title: profile + $ref: '#/components/schemas/entity-profile-response' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + entity: + $ref: '#/components/schemas/url' + description: The API resource URL of the entity that this event belongs to. + readOnly: true + x-speakeasy-unknown-values: allow + connectBalanceTransferToken: + type: string + example: cbtr_j8NvRAM2WNZtsykpLEX8J + balance-transfer-party-type: + type: string + description: Defines the type of the party. At the moment, only `organization` is supported. + enum: + - organization + example: organization + entity-balance-transfer-party: + type: object + description: A party involved in the balance transfer, either the sender or the receiver. + properties: + type: + $ref: '#/components/schemas/balance-transfer-party-type' + id: + $ref: '#/components/schemas/organizationToken' + description: Identifier of the party. For example, this contains the organization token if the type is `organization`. + description: + type: string + description: The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. + maxLength: 255 + example: Invoice fee + required: + - type + - id + - description + balance-transfer-status: + type: string + readOnly: true + description: The status of the transfer. + enum: + - created + - failed + - succeeded + example: created + x-speakeasy-unknown-values: allow + balance-transfer-status-reason: + type: string + description: A machine-readable code that indicates the reason for the transfer's status. + example: insufficient_funds + enum: + - request_created + - success + - source_not_allowed + - destination_not_allowed + - insufficient_funds + - invalid_source_balance + - invalid_destination_balance + - transfer_request_expired + - transfer_limit_reached + x-enumDescriptions: + request_created: Balance transfer request was created. + success: Balance transfer completed successfully. + source_not_allowed: Balance transfers from the source organization are not allowed. + destination_not_allowed: Balance transfers to the destination organization are not allowed. + insufficient_funds: Source does not have enough balance. + invalid_source_balance: Invalid balance for source organization. + invalid_destination_balance: Invalid balance for destination organization. + transfer_request_expired: Request for balance transfer has expired. + transfer_limit_reached: Transfer limit has been exceeded. + balance-transfer-category: + type: string + description: The type of the transfer. Different fees may apply to different types of transfers. + enum: + - invoice_collection + - purchase + - chargeback + - refund + - service_penalty + - discount_compensation + - manual_correction + - other_fee + example: invoice_collection + entity-balance-transfer: + type: object + properties: + resource: + type: string + description: Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. + readOnly: true + example: connect-balance-transfer + id: + $ref: '#/components/schemas/connectBalanceTransferToken' + description: |- + The identifier uniquely referring to this balance transfer. Mollie assigns this identifier at balance transfer creation time. Mollie + will always refer to the balance transfer by this ID. Example: `cbtr_j8NvRAM2WNZtsykpLEX8J`. + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: The amount to be transferred, e.g. `{"currency":"EUR", "value":"1000.00"}` if you would like to transfer €1000.00. + source: + $ref: '#/components/schemas/entity-balance-transfer-party' + destination: + $ref: '#/components/schemas/entity-balance-transfer-party' + description: + type: string + description: The transfer description for initiating party. + maxLength: 255 + example: Invoice fee + status: + $ref: '#/components/schemas/balance-transfer-status' + statusReason: + type: object + readOnly: true + description: The reason for the current status of the transfer, if applicable. + properties: + code: + $ref: '#/components/schemas/balance-transfer-status-reason' + message: + type: string + description: A description of the status reason, localized according to the transfer. + example: Insufficient funds in the source balance. + required: + - code + - message + category: + $ref: '#/components/schemas/balance-transfer-category' + createdAt: + $ref: '#/components/schemas/created-at' + executedAt: + type: + - string + - 'null' + description: |- + The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is + not executed (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + testmode: + $ref: '#/components/schemas/testmode-create' + mode: + $ref: '#/components/schemas/mode' + required: + - resource + - id + - amount + - source + - destination + - description + - status + - statusReason + - createdAt + - mode + extra-parameter-parameters: + type: object + properties: + applePayPaymentToken: + type: string + description: |- + The Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. + The token contains the payment information needed to authorize the payment. + + The object should be passed encoded in a JSON string. + example: '{"paymentData": {"version": "EC_v1", "data": "vK3BbrCbI/...."}}' + writeOnly: true + x-methodSpecific: true + company: + type: object + description: |- + Billie is a business-to-business (B2B) payment method. It requires extra information to identify the organization + that is completing the payment. It is recommended to include these parameters up front for a seamless flow. + Otherwise, Billie will ask the customer to complete the missing fields during checkout. + properties: + registrationNumber: + type: string + description: The organization's registration number. + example: '12345678' + vatNumber: + type: string + description: The organization's VAT number. + example: NL123456789B01 + entityType: + type: string + description: The organization's entity type. + example: ... + writeOnly: true + x-methodSpecific: true + cardToken: + type: string + description: |- + When creating credit card payments using Mollie Components, you need to provide the card token you received from + the card component in this field. The token represents the customer's card information needed to complete the + payment. Note: field only valid for oneoff and first payments. For recurring payments, the customerId alone is + enough. + example: tkn_12345 + writeOnly: true + x-methodSpecific: true + voucherNumber: + type: string + description: |- + The card token you received from the card component of Mollie Components. The token represents the customer's card + information needed to complete the payment. + example: '1234567890' + writeOnly: true + x-methodSpecific: true + voucherPin: + type: string + description: The PIN on the gift card. You can supply this to prefill the PIN, if the card has any. + example: '1234' + writeOnly: true + x-methodSpecific: true + consumerDateOfBirth: + type: string + format: date + description: |- + The customer's date of birth. If not provided via the API, iDeal in3 will ask the customer to provide it during + the payment process. + example: '2000-01-01' + writeOnly: true + x-methodSpecific: true + extraMerchantData: + type: object + description: |- + For some industries, additional purchase information can be sent to Klarna to increase the authorization rate. + You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an + object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation. + properties: {} + additionalProperties: true + writeOnly: true + x-methodSpecific: true + sessionId: + type: string + description: |- + The unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an + on-demand payment. + example: ... + writeOnly: true + x-methodSpecific: true + digitalGoods: + type: boolean + description: |- + Indicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter + can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information. + example: true + writeOnly: true + x-methodSpecific: true + customerReference: + type: string + description: |- + Used by paysafecard for customer identification across payments. When you generate a customer reference yourself, + make sure not to put personal identifiable information or IP addresses in the customer reference directly. + example: '1234567890' + writeOnly: true + x-methodSpecific: true + terminalId: + type: string + description: The ID of the terminal device where you want to initiate the payment on. + example: term_1234567890 + writeOnly: true + x-methodSpecific: true + payment-request: + allOf: + - $ref: '#/components/schemas/entity-payment' + required: + - amount + - description + - redirectUrl + - $ref: '#/components/schemas/extra-parameter-parameters' + description: + type: string + description: |- + The description of the payment. This will be shown to your customer on their card or bank statement when possible. + We truncate the description automatically according to the limits of the used payment method. The description is + also visible in any exports you generate. + + We recommend you use a unique identifier so that you can always link the payment to the order in your back office. + This is particularly useful for bookkeeping. + + The maximum length of the description field differs per payment method, with the absolute maximum being 255 + characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + maxLength: 255 + example: Chess Board + redirectUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to after the payment process. + + It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the + right page referencing the order when your customer returns. + + The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for + Apple Pay payments with an `applePayPaymentToken`. + example: https://example.org/redirect + cancelUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not + provided, the customer will be redirected to the `redirectUrl` instead — see above. + + Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is + therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle + payment cancellations. + example: https://example.org/cancel + webhookUrl: + type: + - string + - 'null' + description: |- + The webhook URL where we will send payment status updates to. + + The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. + + The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use + webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your + local machine. + example: https://example.org/webhooks + dueDate: + type: string + description: The date by which the payment should be completed in `YYYY-MM-DD` format + example: '2025-01-01' + writeOnly: true + restrictPaymentMethodsToCountry: + type: + - string + - 'null' + description: |- + For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT + rates you have used for the order to ensure your customer's country matches the VAT country. + + Use this parameter to restrict the payment methods available to your customer to those from a single country. + + If available, the credit card method will still be offered, but only cards from the allowed country are accepted. + + The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + example: NL + issuer: + type: + - string + - 'null' + description: |- + **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** + + **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information + on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** + + Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment + method, the customer may still need to select the appropriate issuer before the payment can proceed. + + We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API + up front. + + The full list of issuers for a specific method can be retrieved via the Methods API by using the optional + `issuers` include. + + A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + example: ideal_INGBNL2A + writeOnly: true + billingAddress: + allOf: + - $ref: '#/components/schemas/payment-address' + - type: object + properties: + organizationName: + description: |- + The name of the organization, in case the addressee is an organization. + + Required for payment method `billie`. + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + method-status: + type: string + description: The payment method's activation status for this profile. + enum: + - activated + - pending-boarding + - pending-review + - pending-external + - rejected + x-enumDescriptions: + activated: The payment method is activated and ready for use. + pending-boarding: Mollie is waiting for you to finish onboarding in the Merchant Dashboard before the payment method can be activated. + pending-review: Mollie needs to review your request for this payment method before it can be activated. + pending-external: Activation of this payment method relies on you taking action with an external party, for example signing up with PayPal or a giftcard issuer. + rejected: Your request for this payment method was rejected. Whenever Mollie rejects such a request, you will always be informed via email. + example: activated + x-speakeasy-unknown-values: allow + entity-method: + type: object + required: + - resource + - id + - description + - minimumAmount + - maximumAmount + - image + - status + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a payment method object. Will always contain the string `method` for this + endpoint. + readOnly: true + example: method + id: + $ref: '#/components/schemas/method-response' + type: string + description: |- + The unique identifier of the payment method. When used during [payment creation](create-payment), the payment + method selection screen will be skipped. + example: ideal + readOnly: true + description: + type: string + description: |- + The full name of the payment method. + + If a `locale` parameter is provided, the name is translated to the given locale if possible. + example: iDeal + readOnly: true + minimumAmount: + $ref: '#/components/schemas/amount' + description: The minimum payment amount required to use this payment method. + readOnly: true + maximumAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` + is returned instead. + readOnly: true + image: + type: object + description: URLs of images representing the payment method. + required: + - size1x + - size2x + - svg + properties: + size1x: + type: string + description: The URL pointing to an icon of 32 by 24 pixels. + example: https://... + size2x: + type: string + description: The URL pointing to an icon of 64 by 48 pixels. + example: https://... + svg: + type: string + description: |- + The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can + scale to any desired size without compromising visual quality. + example: https://... + readOnly: true + status: + $ref: '#/components/schemas/method-status' + issuers: + type: array + description: |- + **Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant + for iDEAL, KBC/CBC, gift cards, and vouchers. + items: + type: object + required: + - resource + - id + - name + - image + properties: + resource: + type: string + example: issuer + id: + type: string + example: ideal_ABNANL2A + name: + type: string + description: The full name of the issuer. + example: ING Bank + image: + type: object + description: |- + URLs of images representing the issuer. + required: + - size1x + - size2x + - svg + properties: + size1x: + type: string + description: The URL pointing to an icon of 32 by 24 pixels. + example: https://... + size2x: + type: string + description: The URL pointing to an icon of 64 by 48 pixels. + example: https://... + svg: + type: string + description: |- + The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can + scale to any desired size without compromising visual quality. + example: https://... + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + entity-method-all: + allOf: + - $ref: '#/components/schemas/entity-method' + - type: object + properties: + pricing: + type: array + description: |- + **Optional include.** Array of objects describing the pricing configuration applicable for this payment method on + your account. + items: + type: object + required: + - description + - fixed + - variable + properties: + description: + type: string + description: |- + A description of what the pricing applies to. For example, a specific country (`The Netherlands`) or a + category of cards (`American Express`). If a `locale` is provided, the description may be translated. + example: The Netherlands + fixed: + $ref: '#/components/schemas/amount' + description: The fixed price charged per payment. + variable: + type: string + description: The variable price charged per payment, as a percentage string. + example: 0 + feeRegion: + type: + - string + - 'null' + description: |- + Only present for credit card pricing. It will correspond with the `feeRegion` of credit card payments as + returned in the [Payments API](get-payment). + example: other + readOnly: true + x-speakeasy-unknown-values: allow + method-issuer-status: + type: string + description: |- + The status of the issuer. + If the status is `pending-issuer`, an additional action from your side may be required with the issuer. + enum: + - activated + - pending-issuer + example: activated + x-speakeasy-unknown-values: allow + giftcard: + type: object + required: + - resource + - id + - description + - status + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this + endpoint. + readOnly: true + example: issuer + id: + type: string + description: The unique identifier of the payment method issuer. + readOnly: true + example: festivalcadeau + description: + type: string + description: The full name of the payment method issuer. + readOnly: true + example: FestivalCadeau Giftcard + status: + $ref: '#/components/schemas/method-issuer-status' + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + voucher: + type: object + required: + - resource + - id + - name + - image + - status + - contractor + - _links + properties: + resource: + type: string + description: |- + Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this + endpoint. + readOnly: true + example: issuer + id: + type: string + description: The unique identifier of the payment method issuer. + readOnly: true + example: edenred-belgium-eco + name: + type: string + description: The full name of the payment method issuer. + readOnly: true + example: Edenred Eco + image: + type: object + description: URLs of images representing the payment method issuer. + properties: + size1x: + type: string + description: The URL pointing to an icon of 32 by 24 pixels. + example: https://... + size2x: + type: string + description: The URL pointing to an icon of 64 by 48 pixels. + example: https://... + svg: + type: string + description: |- + The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can + scale to any desired size without compromising visual quality. + example: https://... + readOnly: true + status: + $ref: '#/components/schemas/method-issuer-status' + readOnly: true + contractor: + type: object + description: Information regarding the *contractor*. Only relevant for `voucher` issuers. + properties: + id: + type: string + example: Apetiz + name: + type: string + example: Apetiz + contractId: + type: string + example: someContractId + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + refund-request: + allOf: + - $ref: '#/components/schemas/entity-refund' + required: + - amount + entity-session: + type: object + additionalProperties: true + properties: {} + terminalToken: + type: string + example: term_vytxeTZskVKR7C7WgdSP3d + terminal-status: + type: string + description: The status of the terminal. + enum: + - pending + - active + - inactive + x-enumDescriptions: + pending: |- + The device has been linked to your account, but has not yet been activated. If you ordered a terminal + from us, it may already become visible in your account with this status. + active: The terminal is fully configured and ready to accept payments. + inactive: |- + The terminal has been deactivated. Deactivation happens for example if you returned the device to + Mollie, or if you requested to move it to another profile or organization. + example: active + x-speakeasy-unknown-values: allow + terminal-brand: + type: + - string + - 'null' + enum: + - PAX + - Tap + example: PAX + description: The brand of the terminal. + x-speakeasy-unknown-values: allow + terminal-model: + type: + - string + - 'null' + enum: + - A35 + - A77 + - A920 + - A920Pro + - IM30 + - Tap + example: A920 + description: The model of the terminal. For example for a PAX A920, this field's value will be `A920`. + x-speakeasy-unknown-values: allow + entity-terminal: + type: object + required: + - resource + - id + - mode + - profileId + - status + - brand + - model + - serialNumber + - currency + - description + - createdAt + - updatedAt + - _links + properties: + resource: + type: string + description: Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint. + readOnly: true + example: terminal + id: + $ref: '#/components/schemas/terminalToken' + description: 'The identifier uniquely referring to this terminal. Example: `term_7MgL4wea46qkRcoTZjWEH`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: |- + A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the + description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it + may be visible on the device itself depending on the device. + maxLength: 255 + example: Main Terminal + status: + $ref: '#/components/schemas/terminal-status' + readOnly: true + brand: + $ref: '#/components/schemas/terminal-brand' + model: + $ref: '#/components/schemas/terminal-model' + serialNumber: + type: + - string + - 'null' + example: '1234567890' + description: The serial number of the terminal. The serial number is provided at terminal creation time. + currency: + type: string + example: EUR + description: |- + The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a + specific currency, chosen during setup. + profileId: + type: string + $ref: '#/components/schemas/profileToken' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + createdAt: + $ref: '#/components/schemas/created-at' + updatedAt: + type: string + description: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + example: '2025-03-20T09:13:37.0Z' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + connectRouteToken: + type: string + example: crt_dyARQ3JzCgtPDhU2Pbq3J + entity-route: + type: object + properties: + resource: + type: string + description: Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + readOnly: true + example: route + id: + $ref: '#/components/schemas/connectRouteToken' + description: |- + The identifier uniquely referring to this route. Mollie assigns this identifier at route creation time. Mollie + will always refer to the route by this ID. Example: `crt_dyARQ3JzCgtPDhU2Pbq3J`. + readOnly: true + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount of the route. + That amount that will be routed to the specified destination. + description: + type: string + description: The description of the route. This description is shown in the reports. + maxLength: 255 + example: 'Payment for Order #12345' + destination: + type: object + description: The destination of the route. + required: + - type + - organizationId + properties: + type: + $ref: '#/components/schemas/route-destination-type-response' + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for destination type `organization`. The ID of the connected organization the funds should be + routed to. + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + route-get-response: + type: object + required: + - resource + - id + - paymentId + - amount + - description + - destination + - createdAt + - _links + allOf: + - $ref: '#/components/schemas/entity-route' + - type: object + properties: + createdAt: + $ref: '#/components/schemas/created-at' + x-speakeasy-unknown-values: allow + route-create-request: + type: object + properties: + resource: + type: string + description: Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + readOnly: true + example: route + id: + $ref: '#/components/schemas/connectRouteToken' + description: |- + The identifier uniquely referring to this route. Mollie assigns this identifier at route creation time. Mollie + will always refer to the route by this ID. Example: `crt_dyARQ3JzCgtPDhU2Pbq3J`. + readOnly: true + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount of the route. + That amount that will be routed to the specified destination. + description: + type: string + description: The description of the route. This description is shown in the reports. + maxLength: 255 + example: 'Payment for Order #12345' + destination: + type: object + description: The destination of the route. + required: + - type + - organizationId + properties: + type: + $ref: '#/components/schemas/route-destination-type' + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for destination type `organization`. The ID of the connected organization the funds should be + routed to. + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + route-create-response: + type: object + required: + - resource + - id + - paymentId + - amount + - description + - destination + - _links + properties: + resource: + type: string + description: Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + readOnly: true + example: route + id: + $ref: '#/components/schemas/connectRouteToken' + description: |- + The identifier uniquely referring to this route. Mollie assigns this identifier at route creation time. Mollie + will always refer to the route by this ID. Example: `crt_dyARQ3JzCgtPDhU2Pbq3J`. + readOnly: true + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount of the route. + That amount that will be routed to the specified destination. + description: + type: string + description: The description of the route. This description is shown in the reports. + maxLength: 255 + example: 'Payment for Order #12345' + destination: + type: object + description: The destination of the route. + required: + - type + - organizationId + properties: + type: + $ref: '#/components/schemas/route-destination-type-response' + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for destination type `organization`. The ID of the connected organization the funds should be + routed to. + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - documentation + properties: + self: + $ref: '#/components/schemas/url' + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + entity-customer: + type: object + properties: + resource: + type: string + description: Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + readOnly: true + example: customer + id: + $ref: '#/components/schemas/customerToken' + description: 'The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + name: + type: + - string + - 'null' + description: The full name of the customer. + example: John Doe + email: + type: + - string + - 'null' + description: The email address of the customer. + example: example@email.com + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale-response' + description: |- + Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if + absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + metadata: + $ref: '#/components/schemas/metadata' + createdAt: + $ref: '#/components/schemas/created-at' + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - dashboard + - documentation + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + payments: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments + exist (yet). + mandates: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates + exist (yet). + subscriptions: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such + subscriptions exist (yet). + documentation: + $ref: '#/components/schemas/url' + readOnly: true + customer-response: + allOf: + - $ref: '#/components/schemas/entity-customer-response' + required: + - resource + - id + - mode + - name + - email + - locale + - metadata + - createdAt + - _links + x-speakeasy-unknown-values: allow + entity-event: + type: object + required: + - resource + - type + - createdAt + - message + properties: + resource: + type: string + example: event + type: + type: integer + example: 200 + createdAt: + $ref: '#/components/schemas/created-at' + message: + type: string + example: Customer created + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + url: + $ref: '#/components/schemas/url' + mandate-method: + type: string + description: |- + Payment method of the mandate. + + SEPA Direct Debit and PayPal mandates can be created directly. + enum: + - creditcard + - directdebit + - paypal + example: directdebit + mandate-details-card-label: + type: + - string + - 'null' + description: The card's label. Available for card mandates, if the card label could be detected. + enum: + - American Express + - Carta Si + - Carte Bleue + - Dankort + - Diners Club + - Discover + - JCB + - Laser + - Maestro + - Mastercard + - Unionpay + - Visa + example: Visa + mandate-status: + type: string + description: |- + The status of the mandate. A status can be `pending` for mandates when the first payment is not yet finalized, or + when we did not received the IBAN yet from the first payment. + enum: + - valid + - pending + - invalid + example: valid + x-speakeasy-unknown-values: allow + entity-mandate: + type: object + properties: + resource: + type: string + description: Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + readOnly: true + example: mandate + id: + $ref: '#/components/schemas/mandateToken' + description: 'The identifier uniquely referring to this mandate. Example: `mdt_pWUnw6pkBN`.' + mode: + $ref: '#/components/schemas/mode' + method: + $ref: '#/components/schemas/mandate-method' + consumerName: + type: string + description: The customer's name. + example: John Doe + writeOnly: true + consumerAccount: + type: + - string + - 'null' + description: The customer's IBAN. Required for SEPA Direct Debit mandates. + example: NL55INGB0000000000 + writeOnly: true + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank. + example: BANKBIC + writeOnly: true + consumerEmail: + type: + - string + - 'null' + description: The customer's email address. Required for PayPal mandates. + example: example@email.com + writeOnly: true + details: + type: object + properties: + consumerName: + type: + - string + - 'null' + description: The customer's name. Available for SEPA Direct Debit and PayPal mandates. + example: John Doe + consumerAccount: + type: + - string + - 'null' + description: The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. + example: NL55INGB0000000000 + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank. Available for SEPA Direct Debit mandates. + example: BANKBIC + cardHolder: + type: + - string + - 'null' + description: The card holder's name. Available for card mandates. + example: John Doe + cardNumber: + type: + - string + - 'null' + description: The last four digits of the card number. Available for card mandates. + example: 3240 + cardExpiryDate: + type: + - string + - 'null' + description: The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. + example: '2025-01-01' + cardLabel: + $ref: '#/components/schemas/mandate-details-card-label' + cardFingerprint: + type: + - string + - 'null' + description: |- + Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify + returning customers. + example: d3290e932k02f + readOnly: true + signatureDate: + type: + - string + - 'null' + description: The date when the mandate was signed in `YYYY-MM-DD` format. + example: '2025-01-01' + mandateReference: + type: + - string + - 'null' + description: |- + A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will + decline Direct Debit payments if the mandate reference is not unique. + example: ID-1023892 + paypalBillingAgreementId: + type: + - string + - 'null' + description: |- + The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. + Must provide either this field or `payPalVaultId`, but not both. + example: B-12A34567B8901234CD + writeOnly: true + payPalVaultId: + type: + - string + - 'null' + description: |- + The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. + Must provide either this field or `paypalBillingAgreementId`, but not both. + example: 8kk8451t + writeOnly: true + status: + $ref: '#/components/schemas/mandate-status' + readOnly: true + customerId: + type: string + $ref: '#/components/schemas/customerToken' + description: The identifier referring to the [customer](get-customer) this mandate was linked to. + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - customer + - documentation + properties: + self: + $ref: '#/components/schemas/url' + customer: + $ref: '#/components/schemas/url' + description: The API resource URL of the [customer](get-customer) that this mandate belongs to. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + mandate-response: + allOf: + - $ref: '#/components/schemas/entity-mandate-response' + required: + - resource + - id + - mode + - status + - method + - details + - customerId + - mandateReference + - signatureDate + - createdAt + - _links + x-speakeasy-unknown-values: allow + mandate-request: + allOf: + - $ref: '#/components/schemas/entity-mandate' + required: + - method + - consumerName + subscription-status: + type: string + description: |- + The subscription's current status is directly related to the status of the underlying customer or mandate that is + enabling the subscription. + enum: + - pending + - active + - canceled + - suspended + - completed + example: active + x-speakeasy-unknown-values: allow + subscription-method: + type: + - string + - 'null' + description: The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. + enum: + - creditcard + - directdebit + - paypal + - null + example: paypal + entity-subscription: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a subscription object. Will always contain the string `subscription` for this + endpoint. + readOnly: true + example: subscription + id: + $ref: '#/components/schemas/subscriptionToken' + description: 'The identifier uniquely referring to this subscription. Example: `sub_rVKGtNd6s3`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + status: + $ref: '#/components/schemas/subscription-status' + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount for each individual payment that is charged with this subscription. For example, for a monthly + subscription of €10, the subscription amount should be set to €10. + times: + type: + - integer + - 'null' + description: |- + Total number of payments for the subscription. Once this number of payments is reached, the subscription is + considered completed. + + Test mode subscriptions will get canceled automatically after 10 payments. + example: 6 + timesRemaining: + type: + - integer + - 'null' + description: Number of payments left for the subscription. + example: 5 + readOnly: true + interval: + type: string + description: |- + Interval to wait between payments, for example `1 month` or `14 days`. + + The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). + + Possible values: `... days`, `... weeks`, `... months`. + pattern: ^\d+ (days|weeks|months)$ + example: 2 days + startDate: + type: string + description: The start date of the subscription in `YYYY-MM-DD` format. + example: '2025-01-01' + nextPaymentDate: + type: + - string + - 'null' + description: |- + The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, + this parameter will not be returned. + example: '2025-01-01' + readOnly: true + description: + type: string + description: |- + The subscription's description will be used as the description of the resulting individual payments and so showing + up on the bank statement of the consumer. + + **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + example: Subscription of streaming channel + method: + $ref: '#/components/schemas/subscription-method-response' + applicationFee: + type: object + description: |- + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + Setting an application fee on the subscription will ensure this fee is charged on each individual payment. + + Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more + information. + required: + - amount + - description + properties: + amount: + $ref: '#/components/schemas/amount' + description: + type: string + example: Platform fee + metadata: + $ref: '#/components/schemas/metadata' + description: |- + Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. + Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately + 1kB. + + Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + webhookUrl: + type: string + description: |- + We will call this URL for any payment status changes of payments resulting from this subscription. + + This webhook will receive **all** events for the subscription's payments. This may include payment failures as + well. Be sure to verify the payment's subscription ID and its status. + example: https://example.com/webhook + customerId: + $ref: '#/components/schemas/customerToken' + description: The customer this subscription belongs to. + readOnly: true + mandateId: + type: + - string + - 'null' + $ref: '#/components/schemas/mandateToken' + description: The mandate used for this subscription, if any. + createdAt: + $ref: '#/components/schemas/created-at' + canceledAt: + type: + - string + - 'null' + description: |- + The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the + subscription is not canceled (yet). + example: '2025-01-01T13:10:19.0Z' + readOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - profile + - customer + - documentation + properties: + self: + $ref: '#/components/schemas/url' + customer: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [customer](get-customer) this subscription was created for. + mandate: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [mandate](get-mandate) this subscription was created for. + profile: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [profile](get-profile) this subscription was created for. + payments: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [payments](list-payments) created for this subscription. Omitted if no such + payments exist (yet). + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + subscription-response: + allOf: + - $ref: '#/components/schemas/entity-subscription' + required: + - resource + - id + - mode + - customerId + - createdAt + - status + - amount + - description + - method + - times + - timesRemaining + - interval + - startDate + - webhookUrl + - metadata + - _links + x-speakeasy-unknown-values: allow + subscription-request: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a subscription object. Will always contain the string `subscription` for this + endpoint. + readOnly: true + example: subscription + id: + $ref: '#/components/schemas/subscriptionToken' + description: 'The identifier uniquely referring to this subscription. Example: `sub_rVKGtNd6s3`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + status: + $ref: '#/components/schemas/subscription-status' + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount for each individual payment that is charged with this subscription. For example, for a monthly + subscription of €10, the subscription amount should be set to €10. + times: + type: + - integer + - 'null' + description: |- + Total number of payments for the subscription. Once this number of payments is reached, the subscription is + considered completed. + + Test mode subscriptions will get canceled automatically after 10 payments. + example: 6 + timesRemaining: + type: + - integer + - 'null' + description: Number of payments left for the subscription. + example: 5 + readOnly: true + interval: + type: string + description: |- + Interval to wait between payments, for example `1 month` or `14 days`. + + The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). + + Possible values: `... days`, `... weeks`, `... months`. + pattern: ^\d+ (days|weeks|months)$ + example: 2 days + startDate: + type: string + description: The start date of the subscription in `YYYY-MM-DD` format. + example: '2025-01-01' + nextPaymentDate: + type: + - string + - 'null' + description: |- + The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, + this parameter will not be returned. + example: '2025-01-01' + readOnly: true + description: + type: string + description: |- + The subscription's description will be used as the description of the resulting individual payments and so showing + up on the bank statement of the consumer. + + **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + example: Subscription of streaming channel + method: + $ref: '#/components/schemas/subscription-method' + applicationFee: + type: object + description: |- + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + Setting an application fee on the subscription will ensure this fee is charged on each individual payment. + + Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more + information. + required: + - amount + - description + properties: + amount: + $ref: '#/components/schemas/amount' + description: + type: string + example: Platform fee + metadata: + $ref: '#/components/schemas/metadata' + description: |- + Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. + Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately + 1kB. + + Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + webhookUrl: + type: string + description: |- + We will call this URL for any payment status changes of payments resulting from this subscription. + + This webhook will receive **all** events for the subscription's payments. This may include payment failures as + well. Be sure to verify the payment's subscription ID and its status. + example: https://example.com/webhook + customerId: + $ref: '#/components/schemas/customerToken' + description: The customer this subscription belongs to. + readOnly: true + mandateId: + type: + - string + - 'null' + $ref: '#/components/schemas/mandateToken' + description: The mandate used for this subscription, if any. + createdAt: + $ref: '#/components/schemas/created-at' + canceledAt: + type: + - string + - 'null' + description: |- + The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the + subscription is not canceled (yet). + example: '2025-01-01T13:10:19.0Z' + readOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - profile + - customer + - documentation + properties: + self: + $ref: '#/components/schemas/url' + customer: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [customer](get-customer) this subscription was created for. + mandate: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [mandate](get-mandate) this subscription was created for. + profile: + $ref: '#/components/schemas/url-nullable' + description: The API resource URL of the [profile](get-profile) this subscription was created for. + payments: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [payments](list-payments) created for this subscription. Omitted if no such + payments exist (yet). + documentation: + $ref: '#/components/schemas/url' + readOnly: true + salesInvoiceToken: + type: string + example: invoice_4Y0eZitmBnQ6IDoMqZQKh + sales-invoice-status: + type: string + description: |- + The status for the invoice to end up in. + + A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to + the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to + mark it as paid. It can then subsequently be sent as well, same as with `issued`. + + A status value that cannot be set but can be returned is `canceled`, for invoices which were + issued, but then canceled. Currently this can only be done for invoices created in the dashboard. + + Dependent parameters: + - `paymentDetails` is required if invoice should be set directly to `paid` + - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` + - `emailDetails` optional for `issued` and `paid` to send the invoice by email + enum: + - draft + - issued + - paid + example: draft + sales-invoice-vat-scheme: + type: string + description: The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. + enum: + - standard + - one-stop-shop + example: standard + sales-invoice-vat-mode: + type: string + description: |- + The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the + price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. + enum: + - exclusive + - inclusive + example: exclusive + sales-invoice-payment-term: + type: + - string + - 'null' + description: The payment term to be set on the invoice. + enum: + - 7 days + - 14 days + - 30 days + - 45 days + - 60 days + - 90 days + - 120 days + example: 30 days + sales-invoice-payment-details-source: + type: string + description: The way through which the invoice is to be set to paid. + enum: + - manual + - payment-link + - payment + example: payment-link + sales-invoice-payment-details: + type: + - object + - 'null' + required: + - source + properties: + source: + $ref: '#/components/schemas/sales-invoice-payment-details-source' + sourceReference: + example: pl_d9fQur83kFdhH8hIhaZfq + type: + - string + - 'null' + description: |- + A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and + `payment`. + sales-invoice-email-details: + type: + - object + - 'null' + required: + - subject + - body + properties: + subject: + example: Your invoice is available + type: string + description: The subject of the email to be sent. + body: + example: Please find your invoice enclosed. + type: string + description: The body of the email to be sent. To add newline characters, you can use `\n`. + sales-invoice-recipient-type: + type: string + description: |- + The type of recipient, either `consumer` or `business`. This will determine what further fields are + required on the `recipient` object. + enum: + - consumer + - business + example: consumer + sales-invoice-recipient-locale: + type: string + description: The locale for the recipient, to be used for translations in PDF generation and payment pages. + enum: + - en_US + - en_GB + - nl_NL + - nl_BE + - de_DE + - de_AT + - de_CH + - fr_FR + - fr_BE + example: nl_NL + sales-invoice-recipient: + type: + - object + - 'null' + required: + - type + - email + - streetAndNumber + - postalCode + - city + - country + - locale + properties: + type: + $ref: '#/components/schemas/sales-invoice-recipient-type' + title: + example: Mrs. + type: + - string + - 'null' + description: The title of the `consumer` type recipient, for example Mr. or Mrs.. + givenName: + example: Jane + type: + - string + - 'null' + description: |- + The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain + only numbers. + familyName: + example: Doe + type: + - string + - 'null' + description: |- + The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain + only numbers. + organizationName: + example: Organization Corp. + type: + - string + - 'null' + description: The trading name of the `business` type recipient. + organizationNumber: + example: '12345678' + type: + - string + - 'null' + description: |- + The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` + has to be provided. + vatNumber: + example: NL123456789B01 + type: + - string + - 'null' + description: |- + The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` + has to be provided. + email: + example: example@email.com + type: string + description: The email address of the recipient. + phone: + example: '+0123456789' + type: + - string + - 'null' + description: The phone number of the recipient. + streetAndNumber: + example: Keizersgracht 126 + type: string + description: A street and street number. + streetAdditional: + example: 4th floor + type: + - string + - 'null' + description: Any additional addressing details, for example an apartment number. + postalCode: + example: 5678AB + type: string + description: A postal code. + city: + example: Amsterdam + type: string + description: The recipient's city. + region: + example: Noord-Holland + type: + - string + - 'null' + description: The recipient's region. + country: + example: NL + type: string + description: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + locale: + $ref: '#/components/schemas/sales-invoice-recipient-locale' + sales-invoice-discount-type: + type: string + description: The type of discount. + enum: + - amount + - percentage + example: amount + sales-invoice-discount: + type: + - object + - 'null' + required: + - type + - value + properties: + type: + $ref: '#/components/schemas/sales-invoice-discount-type' + value: + example: '10.00' + type: string + description: A string containing an exact monetary amount in the given currency, or the percentage. + sales-invoice-line-item: + type: object + required: + - description + - quantity + - vatRate + - unitPrice + properties: + description: + example: LEGO 4440 Forest Police Station + type: string + description: A description of the line item. For example *LEGO 4440 Forest Police Station*. + maxLength: 100 + quantity: + example: 1 + type: integer + description: The number of items. + minimum: 1 + vatRate: + example: '21.00' + type: string + description: The vat rate to be applied to this line item. + unitPrice: + $ref: '#/components/schemas/amount' + description: |- + The price of a single item excluding VAT. + + For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. + + The unit price can be zero in case of free items. + discount: + $ref: '#/components/schemas/sales-invoice-discount' + description: The discount to be applied to the line item. + entity-sales-invoice: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this + endpoint. + readOnly: true + writeOnly: false + example: sales-invoice + id: + $ref: '#/components/schemas/salesInvoiceToken' + type: string + description: 'The identifier uniquely referring to this invoice. Example: `invoice_4Y0eZitmBnQ6IDoMqZQKh`.' + readOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + invoiceNumber: + example: INV-0000001 + type: + - string + - 'null' + description: When issued, an invoice number will be set for the sales invoice. + readOnly: true + profileId: + type: + - string + - 'null' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + example: pfl_QkEhN94Ba + writeOnly: true + status: + $ref: '#/components/schemas/sales-invoice-status' + vatScheme: + $ref: '#/components/schemas/sales-invoice-vat-scheme' + vatMode: + $ref: '#/components/schemas/sales-invoice-vat-mode' + memo: + example: This is a memo! + type: + - string + - 'null' + description: A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + metadata: + type: + - object + - 'null' + properties: {} + description: |- + Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever + you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. + paymentTerm: + $ref: '#/components/schemas/sales-invoice-payment-term' + paymentDetails: + $ref: '#/components/schemas/sales-invoice-payment-details' + description: |- + Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the + provided details. Required for `paid` status. + emailDetails: + $ref: '#/components/schemas/sales-invoice-email-details' + description: |- + Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the + recipient with the provided `subject` and `body`. Required for `issued` status. + customerId: + type: + - string + description: |- + The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If + provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. + example: cst_8wmqcHMN4U + mandateId: + type: string + description: |- + The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, + `customerId` becomes required as well. Only allowed for invoices with status `paid`. + example: mdt_pWUnw6pkBN + recipientIdentifier: + example: customer-xyz-0123 + type: string + description: |- + An identifier tied to the recipient data. This should be a unique value based on data your system contains, + so that both you and us know who we're referring to. It is a value you provide to us so that recipient management + is not required to send a first invoice to a recipient. + recipient: + $ref: '#/components/schemas/sales-invoice-recipient' + lines: + type: + - array + - 'null' + description: |- + Provide the line items for the invoice. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the invoice. + items: + $ref: '#/components/schemas/sales-invoice-line-item' + discount: + $ref: '#/components/schemas/sales-invoice-discount' + description: The discount to be applied to the entire invoice, applied on top of any line item discounts. + amountDue: + $ref: '#/components/schemas/amount' + description: The amount that is left to be paid. + readOnly: true + subtotalAmount: + $ref: '#/components/schemas/amount' + description: The total amount without VAT before discounts. + readOnly: true + totalAmount: + $ref: '#/components/schemas/amount' + description: The total amount with VAT. + readOnly: true + totalVatAmount: + $ref: '#/components/schemas/amount' + description: The total VAT amount. + readOnly: true + discountedSubtotalAmount: + $ref: '#/components/schemas/amount' + description: The total amount without VAT after discounts. + readOnly: true + createdAt: + type: string + $ref: '#/components/schemas/created-at' + issuedAt: + example: '2024-10-03T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + paidAt: + example: '2024-10-04T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + dueAt: + example: '2024-11-01T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + invoicePayment: + $ref: '#/components/schemas/url' + description: |- + The URL your customer should visit to make payment for the invoice. This is where you should redirect the + customer to unless the `status` is set to `paid`. + pdfLink: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + description: The URL the invoice is available at, if generated. + documentation: + $ref: '#/components/schemas/url' + next: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + previous: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + readOnly: true + writeOnly: false + delete-values-sales-invoice: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + update-values-sales-invoice: + type: object + properties: + testmode: + $ref: '#/components/schemas/testmode' + status: + $ref: '#/components/schemas/sales-invoice-status' + description: |- + The status for the invoice to end up in. + + Dependent parameters: `paymentDetails` for `paid`, `emailDetails` for `issued` and `paid`. + memo: + example: An updated memo! + type: + - string + - 'null' + description: A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + paymentTerm: + $ref: '#/components/schemas/sales-invoice-payment-term' + paymentDetails: + $ref: '#/components/schemas/sales-invoice-payment-details' + description: |- + Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the + provided details. Required for `paid` status. + emailDetails: + $ref: '#/components/schemas/sales-invoice-email-details' + description: |- + Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the + recipient with the provided `subject` and `body`. Required for `issued` status. + recipientIdentifier: + example: customer-xyz-0123 + type: string + description: |- + An identifier tied to the recipient data. This should be a unique value based on data your system contains, + so that both you and us know who we're referring to. It is a value you provide to us so that recipient management + is not required to send a first invoice to a recipient. + recipient: + $ref: '#/components/schemas/sales-invoice-recipient' + description: |- + The recipient object should contain all the information relevant to create an invoice for an intended + recipient. This data will be stored, updated, and re-used as appropriate, based on the `recipientIdentifier`. + lines: + type: + - array + - 'null' + description: |- + Provide the line items for the invoice. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the invoice. + items: + $ref: '#/components/schemas/sales-invoice-line-item' + discount: + $ref: '#/components/schemas/sales-invoice-discount' + description: The discount to be applied to the entire invoice, possibly on top of the line item discounts. + entity-payment-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + readOnly: true + example: payment + id: + $ref: '#/components/schemas/paymentToken' + description: |- + The identifier uniquely referring to this payment. Mollie assigns this identifier at payment creation time. Mollie + will always refer to the payment by this ID. Example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: |- + The description of the payment. This will be shown to your customer on their card or bank statement when possible. + We truncate the description automatically according to the limits of the used payment method. The description is + also visible in any exports you generate. + + We recommend you use a unique identifier so that you can always link the payment to the order in your back office. + This is particularly useful for bookkeeping. + + The maximum length of the description field differs per payment method, with the absolute maximum being 255 + characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + maxLength: 255 + example: Chess Board + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount that you want to charge, e.g. `{currency:"EUR", value:"1000.00"}` if you would want to charge €1000.00. + + You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be + retrieved using the Get method endpoint. + + If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the + tip amount. + amountRefunded: + $ref: '#/components/schemas/amount' + description: |- + The total amount that is already refunded. Only available when refunds are available for this payment. For some + payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the + costs for a return shipment to the customer. + readOnly: true + amountRemaining: + $ref: '#/components/schemas/amount' + description: The remaining amount that can be refunded. Only available when refunds are available for this payment. + readOnly: true + amountCaptured: + $ref: '#/components/schemas/amount' + description: The total amount that is already captured for this payment. Only available when this payment supports captures. + readOnly: true + amountChargedBack: + $ref: '#/components/schemas/amount' + description: |- + The total amount that was charged back for this payment. Only available when the total charged back amount is not + zero. + readOnly: true + settlementAmount: + $ref: '#/components/schemas/amount' + description: |- + This optional field will contain the approximate amount that will be settled to your account, converted to the + currency your account is settled in. + + Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is + settled by Mollie the `settlementAmount` is omitted from the response. + + Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest + using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + readOnly: true + redirectUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to after the payment process. + + It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the + right page referencing the order when your customer returns. + + The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for + Apple Pay payments with an `applePayPaymentToken`. + example: https://example.org/redirect + cancelUrl: + type: + - string + - 'null' + description: |- + The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not + provided, the customer will be redirected to the `redirectUrl` instead — see above. + + Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is + therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle + payment cancellations. + example: https://example.org/cancel + webhookUrl: + type: + - string + - 'null' + description: |- + The webhook URL where we will send payment status updates to. + + The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. + + The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use + webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your + local machine. + example: https://example.org/webhooks + lines: + type: + - array + - 'null' + description: |- + Optionally provide the order lines for the payment. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the payment. + + Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + items: + allOf: + - $ref: '#/components/schemas/payment-line-item-response' + - type: object + properties: + recurring: + $ref: '#/components/schemas/recurring-line-item' + description: |- + The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout + to inform the shopper of the details for recurring products in the payments. + billingAddress: + allOf: + - $ref: '#/components/schemas/payment-address' + - type: object + properties: + organizationName: + description: |- + The name of the organization, in case the addressee is an organization. + + Required for payment method `billie`. + description: |- + The customer's billing address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + + Required for payment method `in3`, `klarna`, `billie` and `riverty`. + shippingAddress: + $ref: '#/components/schemas/payment-address' + description: |- + The customer's shipping address details. We advise to provide these details to improve fraud protection and + conversion. + + Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and + `country`. + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale-response' + description: |- + Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale + is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser + language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 + locale, but our hosted payment pages currently only support the specified languages. + + For bank transfer payments specifically, the locale will determine the target bank account the customer has to + transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the + customer use a local bank account greatly increases the conversion and speed of payment. + countryCode: + type: + - string + - 'null' + description: |- + This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This + field is omitted if the country code was not detected. + example: BE + minLength: 2 + maxLength: 2 + readOnly: true + method: + $ref: '#/components/schemas/method-response' + issuer: + type: + - string + - 'null' + description: |- + **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** + + **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information + on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** + + Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment + method, the customer may still need to select the appropriate issuer before the payment can proceed. + + We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API + up front. + + The full list of issuers for a specific method can be retrieved via the Methods API by using the optional + `issuers` include. + + A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + example: ideal_INGBNL2A + writeOnly: true + restrictPaymentMethodsToCountry: + type: + - string + - 'null' + description: |- + For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT + rates you have used for the order to ensure your customer's country matches the VAT country. + + Use this parameter to restrict the payment methods available to your customer to those from a single country. + + If available, the credit card method will still be offered, but only cards from the allowed country are accepted. + + The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + example: NL + metadata: + $ref: '#/components/schemas/metadata' + captureMode: + $ref: '#/components/schemas/capture-mode-response' + captureDelay: + type: + - string + - 'null' + description: |- + **Only relevant if you wish to manage authorization and capturing separately.** + + Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a + later point either be 'captured' or canceled. + + By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a + capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For + example `8 hours` or `2 days`. + + To schedule an automatic capture, the `captureMode` must be set to `automatic`. + + The maximum delay is 7 days (168 hours). + + Possible values: `... hours` `... days` + example: 8 hours + pattern: ^\d+ (hours|days)$ + captureBefore: + type: + - string + - 'null' + description: |- + Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we + can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + applicationFee: + type: + - object + - 'null' + description: |- + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + If you use OAuth to create payments on a connected merchant's account, you can charge a fee using this + `applicationFee` parameter. If the payment succeeds, the fee will be deducted from the merchant's balance and sent + to your own account balance. + + If instead you want to split a payment on your own account between yourself and a connected merchant, refer to the + `routing` parameter. + properties: + amount: + $ref: '#/components/schemas/amount' + description: |- + The fee that you wish to charge. + + Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge + a €0.99 fee on a €1.00 payment. + description: + type: string + description: |- + The description of the application fee. This will appear on settlement reports towards both you and the + connected merchant. + maxLength: 255 + example: 10 + routing: + type: + - array + - 'null' + description: |- + *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* + + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants. + + If you create payments on your own account that you want to split between yourself and one or more connected + merchants, you can use this `routing` parameter to route the payment accordingly. + + The `routing` parameter should contain an array of objects, with each object describing the destination for a + specific portion of the payment. + + It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total + payment amount have been routed, the amount left will be routed to the current organization automatically. + + If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` + parameter. + items: + $ref: '#/components/schemas/entity-payment-route-response' + sequenceType: + $ref: '#/components/schemas/sequence-type-response' + description: |- + **Only relevant for recurring payments.** + + Indicate which part of a recurring sequence this payment is for. + + Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is + through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place + on their account in the future. + + If set to `recurring`, the customer's card is charged automatically. + + Defaults to `oneoff`, which is a regular non-recurring payment. + + For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our + [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account + are set up correctly for recurring payments. + subscriptionId: + type: + - string + - 'null' + $ref: '#/components/schemas/subscriptionToken' + description: |- + If the payment was automatically created via a subscription, the ID of the [subscription](get-subscription) will + be added to the response. + readOnly: true + mandateId: + type: + - string + - 'null' + $ref: '#/components/schemas/mandateToken' + description: |- + **Only relevant for recurring payments.** + + When creating recurring payments, the ID of a specific [mandate](get-mandate) can be supplied to indicate which of + the customer's accounts should be credited. + customerId: + type: + - string + - 'null' + $ref: '#/components/schemas/customerToken' + description: |- + The ID of the [customer](get-customer) the payment is being created for. This is used primarily for recurring + payments, but can also be used on regular payments to enable single-click payments. + + If `sequenceType` is set to `recurring`, this field is required. + profileId: + type: string + $ref: '#/components/schemas/profileToken' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + When using an API Key, the `profileId` can be omitted since it is linked to the key. However, for OAuth and + Organization tokens, the `profileId` is required. + + For more information, see [Authentication](authentication). + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: The identifier referring to the [settlement](get-settlement) this payment was settled with. + readOnly: true + orderId: + type: + - string + - 'null' + $ref: '#/components/schemas/orderToken' + description: If the payment was created for an [order](get-order), the ID of that order will be part of the response. + readOnly: true + status: + $ref: '#/components/schemas/payment-status' + readOnly: true + statusReason: + $ref: '#/components/schemas/status-reason' + isCancelable: + type: + - boolean + - 'null' + description: Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + readOnly: true + example: true + details: + type: + - object + - 'null' + description: |- + An object containing payment details collected during the payment process. For example, details may include the + customer's card or bank details and a payment reference. For the full list of details, please refer to the + [method-specific parameters](extra-payment-parameters) guide. + readOnly: true + properties: + consumerName: + type: + - string + - 'null' + description: The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. + example: John Doe + x-methodSpecific: true + consumerAccount: + type: + - string + - 'null' + description: |- + The customer's account reference. + + For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account + number. + + For PayPal, the account reference is an email address. + + For card and Bancontact payments, refer to details.cardNumber. + example: NL91ABNA0417164300 + x-methodSpecific: true + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank account, if applicable. + example: ABNANL2A + x-methodSpecific: true + shippingAddress: + type: + - object + - 'null' + description: |- + For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the + wallet provider. In these cases the shipping address may be available as a payment detail. + properties: {} + additionalProperties: true + x-methodSpecific: true + cardNumber: + type: + - string + - 'null' + description: |- + For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the + PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. + example: '************1234' + x-methodSpecific: true + bankName: + type: string + description: The name of the bank that the customer will need to make the bank transfer payment towards. + example: Mollie Bank + x-methodSpecific: true + bankAccount: + type: string + description: The bank account number the customer will need to make the bank transfer payment towards. + example: NL91ABNA0417164300 + x-methodSpecific: true + bankBic: + type: string + description: The BIC of the bank the customer will need to make the bank transfer payment towards. + example: ABNANL2A + x-methodSpecific: true + transferReference: + type: + - string + - 'null' + description: |- + The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any + formatting here; show it to the customer as-is. + example: ... + x-methodSpecific: true + cardFingerprint: + type: + - string + - 'null' + description: |- + A unique fingerprint for a specific card. Can be used to identify returning customers. + + In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, + linking multiple transactions from wallets and physical card to a single account, also across payment methods + or when the card is reissued. + example: ... + x-methodSpecific: true + cardHolder: + type: + - string + - 'null' + description: The customer's name as shown on their card. + example: John Doe + x-methodSpecific: true + cardAudition: + $ref: '#/components/schemas/payment-details-card-audition-response' + x-methodSpecific: true + cardLabel: + $ref: '#/components/schemas/payment-details-card-label-response' + x-methodSpecific: true + cardCountryCode: + type: + - string + - 'null' + description: The ISO 3166-1 alpha-2 country code of the country the card was issued in. + example: NL + x-methodSpecific: true + cardExpiryDate: + type: + - string + - 'null' + description: The expiry date (MM/YY) of the card as displayed on the card. + example: 12/25 + x-methodSpecific: true + cardFunding: + $ref: '#/components/schemas/payment-details-card-funding-response' + x-methodSpecific: true + cardSecurity: + $ref: '#/components/schemas/payment-details-card-security-response' + x-methodSpecific: true + feeRegion: + $ref: '#/components/schemas/payment-details-fee-region-response' + x-methodSpecific: true + cardMaskedNumber: + type: + - string + - 'null' + description: The first 6 and last 4 digits of the card number. + example: ... + x-methodSpecific: true + card3dsEci: + type: + - string + - 'null' + description: The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). + example: ... + x-methodSpecific: true + cardBin: + type: + - string + - 'null' + description: The first 6 digit of the card bank identification number. + example: ... + x-methodSpecific: true + cardIssuer: + type: + - string + - 'null' + description: The issuer of the Card. + example: ... + x-methodSpecific: true + failureReason: + $ref: '#/components/schemas/payment-details-failure-reason-response' + x-methodSpecific: true + failureMessage: + type: + - string + - 'null' + description: |- + A human-friendly failure message that can be shown to the customer. The message is translated in accordance + with the payment's locale setting. + example: Your card was declined. + x-methodSpecific: true + wallet: + $ref: '#/components/schemas/payment-details-wallet-response' + x-methodSpecific: true + paypalReference: + type: + - string + - 'null' + description: PayPal's reference for the payment. + example: ... + x-methodSpecific: true + paypalPayerId: + type: + - string + - 'null' + description: ID of the customer's PayPal account. + example: ... + x-methodSpecific: true + sellerProtection: + $ref: '#/components/schemas/payment-details-seller-protection-response' + x-methodSpecific: true + paypalFee: + $ref: '#/components/schemas/amount-nullable' + description: |- + An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if + PayPal will not charge a fee for this transaction. + x-methodSpecific: true + customerReference: + type: string + description: The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. + example: ... + x-methodSpecific: true + terminalId: + type: string + description: The ID of the terminal device where the payment took place on. + example: term_12345 + x-methodSpecific: true + maskedNumber: + type: + - string + - 'null' + description: The first 6 digits & last 4 digits of the customer's masked card number. + example: ... + x-methodSpecific: true + receipt: + type: object + description: The Point of sale receipt object. + properties: + authorizationCode: + type: + - string + - 'null' + description: A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. + example: ... + applicationIdentifier: + type: + - string + - 'null' + description: The unique number that identifies a specific payment application on a chip card. + example: ... + cardReadMethod: + $ref: '#/components/schemas/payment-details-receipt-card-read-method-response' + cardVerificationMethod: + $ref: '#/components/schemas/payment-details-receipt-card-verification-method-response' + x-methodSpecific: true + creditorIdentifier: + type: + - string + - 'null' + description: |- + The creditor identifier indicates who is authorized to execute the payment. In this case, it is a + reference to Mollie. + example: ... + x-methodSpecific: true + dueDate: + type: + - string + - 'null' + format: date + description: Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. + example: '2025-01-01' + x-methodSpecific: true + signatureDate: + type: + - string + - 'null' + format: date + description: |- + Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment + has been signed. + example: '2024-03-20' + x-methodSpecific: true + bankReasonCode: + type: + - string + - 'null' + description: |- + The official reason why this payment has failed. A detailed description of each reason is available on the + website of the European Payments Council. + example: ... + x-methodSpecific: true + bankReason: + type: + - string + - 'null' + description: A human-friendly description of the failure reason. + example: ... + x-methodSpecific: true + endToEndIdentifier: + type: + - string + - 'null' + description: The end-to-end identifier you provided in the batch file. + example: ... + x-methodSpecific: true + mandateReference: + type: + - string + - 'null' + description: The mandate reference you provided in the batch file. + example: ... + x-methodSpecific: true + batchReference: + type: + - string + - 'null' + description: The batch reference you provided in the batch file. + example: ... + x-methodSpecific: true + fileReference: + type: + - string + - 'null' + description: The file reference you provided in the batch file. + example: ... + x-methodSpecific: true + qrCode: + type: object + description: |- + Optional include. If a QR code was requested during payment creation for a QR-compatible payment method, + the QR code details will be available in this object. + + The QR code can be scanned by the customer to complete the payment on their mobile device. For example, + Bancontact QR payments can be completed by the customer using the Bancontact app. + properties: + height: + type: integer + description: The height of the QR code image in pixels. + example: 300 + width: + type: integer + description: The width of the QR code image in pixels. + example: 300 + src: + type: string + description: |- + The URL to the QR code image. The image is a PNG file, and can be displayed directly in the browser or + downloaded. + example: https://www.mollie.com/images/qr-code.png + x-methodSpecific: true + voucherNumber: + type: string + description: 'For payments with gift cards: the masked gift card number of the first gift card applied to the payment.' + example: ... + x-methodSpecific: true + giftcards: + type: array + description: An array of detail objects for each gift card that was used on this payment, if any. + items: + type: object + properties: {} + additionalProperties: true + x-methodSpecific: true + issuer: + type: string + description: 'For payments with vouchers: the brand name of the first voucher applied.' + example: ... + x-methodSpecific: true + vouchers: + type: array + description: An array of detail objects for each voucher that was used on this payment, if any. + items: + type: object + properties: {} + additionalProperties: true + x-methodSpecific: true + remainderAmount: + $ref: '#/components/schemas/amount' + description: An amount object for the amount that remained after all gift cards or vouchers were applied. + x-methodSpecific: true + remainderMethod: + type: string + description: The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. + example: creditcard + x-methodSpecific: true + remainderDetails: + type: object + description: Optional include. The full payment method details of the remainder payment. + properties: {} + additionalProperties: true + x-methodSpecific: true + createdAt: + $ref: '#/components/schemas/created-at' + authorizedAt: + type: + - string + - 'null' + description: |- + The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is + not authorized (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + paidAt: + type: + - string + - 'null' + description: |- + The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not + completed (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + canceledAt: + type: + - string + - 'null' + description: |- + The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not + canceled (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + expiresAt: + type: + - string + - 'null' + description: |- + The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no + longer expire. + readOnly: true + example: '2024-03-20T09:28:37.0Z' + expiredAt: + type: + - string + - 'null' + description: |- + The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not + expire (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + failedAt: + type: + - string + - 'null' + description: |- + The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail + (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + dueDate: + type: string + description: The date by which the payment should be completed in `YYYY-MM-DD` format + example: '2025-01-01' + writeOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - dashboard + properties: + self: + $ref: '#/components/schemas/url' + checkout: + $ref: '#/components/schemas/url' + description: The URL your customer should visit to make the payment. This is where you should redirect the customer to. + mobileAppCheckout: + $ref: '#/components/schemas/url' + description: The deeplink URL to the app of the payment method. Currently only available for `bancontact`. + x-methodSpecific: true + changePaymentState: + $ref: '#/components/schemas/url' + description: |- + For test mode payments in certain scenarios, a hosted interface is available to help you test different + payment states. + + Firstly, for recurring test mode payments. Recurring payments do not have a checkout URL, because these + payments are executed without any user interaction. + + Secondly, for paid test mode payments. The payment state screen will then allow you to create a refund or + chargeback for the test payment. + dashboard: + $ref: '#/components/schemas/url' + description: Direct link to the payment in the Mollie Dashboard. + refunds: + $ref: '#/components/schemas/url' + description: The API resource URL of the [refunds](list-payment-refunds) that belong to this payment. + chargebacks: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [chargebacks](list-payment-chargebacks) that belong to this + payment. + captures: + $ref: '#/components/schemas/url' + description: The API resource URL of the [captures](list-payment-captures) that belong to this payment. + settlement: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [settlement](get-settlement) this payment has been settled with. + Not present if not yet settled. + customer: + $ref: '#/components/schemas/url' + description: The API resource URL of the [customer](get-customer). + mandate: + $ref: '#/components/schemas/url' + description: The API resource URL of the [mandate](get-mandate). + subscription: + $ref: '#/components/schemas/url' + description: The API resource URL of the [subscription](get-subscription). + order: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [order](get-order) this payment was created for. Not present if not created for an + order. + terminal: + $ref: '#/components/schemas/url' + description: |- + The API resource URL of the [terminal](get-terminal) this payment was created for. Only present for + point-of-sale payments. + documentation: + $ref: '#/components/schemas/url' + status: + $ref: '#/components/schemas/url' + description: |- + Link to customer-facing page showing the status of the bank transfer (to verify if the transaction was + successful). + x-methodSpecific: true + payOnline: + $ref: '#/components/schemas/url' + description: |- + Link to Mollie Checkout page allowing customers to select a different payment method instead of legacy + bank transfer. + x-methodSpecific: true + readOnly: true + x-speakeasy-unknown-values: allow + payment-line-item-response: + type: object + required: + - description + - quantity + - unitPrice + - totalAmount + properties: + type: + $ref: '#/components/schemas/payment-line-type-response' + description: + type: string + description: A description of the line item. For example *LEGO 4440 Forest Police Station*. + example: LEGO 4440 Forest Police Station + quantity: + type: integer + description: The number of items. + minimum: 1 + example: 1 + quantityUnit: + type: string + description: The unit for the quantity. For example *pcs*, *kg*, or *cm*. + example: pcs + unitPrice: + $ref: '#/components/schemas/amount' + description: |- + The price of a single item including VAT. + + For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. + + For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. + + The unit price can be zero in case of free items. + discountAmount: + $ref: '#/components/schemas/amount' + description: |- + Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount + type. + totalAmount: + $ref: '#/components/schemas/amount' + description: |- + The total amount of the line, including VAT and discounts. + + Should match the following formula: `(unitPrice × quantity) - discountAmount`. + + The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + vatRate: + type: string + description: |- + The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and + not as a float, to ensure the correct number of decimals are passed. + example: '21.00' + vatAmount: + $ref: '#/components/schemas/amount' + description: |- + The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be + calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. + + Any deviations from this will result in an error. + + For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of + `SEK 100.00 × (25 / 125) = SEK 20.00`. + sku: + type: string + description: The SKU, EAN, ISBN or UPC of the product sold. + maxLength: 64 + example: '9780241661628' + categories: + type: array + description: |- + An array with the voucher categories, in case of a line eligible for a voucher. See the + [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + items: + $ref: '#/components/schemas/line-categories-response' + example: + - meal + - eco + imageUrl: + type: string + description: A link pointing to an image of the product sold. + example: https://... + productUrl: + type: string + description: A link pointing to the product page in your web shop of the product sold. + example: https://... + x-speakeasy-unknown-values: allow + payment-line-type-response: + type: string + description: |- + The type of product purchased. For example, a physical or a digital product. + + The `tip` payment line type is not available when creating a payment. + enum: + - physical + - digital + - shipping_fee + - discount + - store_credit + - gift_card + - surcharge + - tip + example: physical + x-speakeasy-unknown-values: allow + line-categories-response: + type: string + enum: + - eco + - gift + - meal + - sport_culture + - additional + - consume + example: eco + x-speakeasy-unknown-values: allow + locale-response: + type: + - string + - 'null' + description: Allows you to preset the language to be used. + enum: + - en_US + - en_GB + - nl_NL + - nl_BE + - de_DE + - de_AT + - de_CH + - fr_FR + - fr_BE + - es_ES + - ca_ES + - pt_PT + - it_IT + - nb_NO + - sv_SE + - fi_FI + - da_DK + - is_IS + - hu_HU + - pl_PL + - lv_LV + - lt_LT + - null + example: en_US + x-speakeasy-unknown-values: allow + method-response: + type: + - string + - 'null' + description: |- + Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment + method and your customer will skip the selection screen and is sent directly to the chosen payment method. The + parameter enables you to fully integrate the payment method selection into your website. + + You can also specify the methods in an array. By doing so we will still show the payment method selection screen + but will only show the methods specified in the array. For example, you can use this functionality to only show + payment methods from a specific country to your customer `['bancontact', 'belfius']`. + example: ideal + enum: + - alma + - applepay + - bacs + - bancomatpay + - bancontact + - banktransfer + - belfius + - billie + - bizum + - blik + - creditcard + - directdebit + - eps + - giftcard + - ideal + - in3 + - kbc + - klarna + - klarnapaylater + - klarnapaynow + - klarnasliceit + - mbway + - mobilepay + - multibanco + - mybank + - paybybank + - payconiq + - paypal + - paysafecard + - pointofsale + - przelewy24 + - riverty + - satispay + - swish + - trustly + - twint + - vipps + - voucher + x-speakeasy-unknown-values: allow + capture-mode-response: + type: + - string + - 'null' + description: |- + Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) + and capture at a later time. + + This field needs to be set to `manual` for method `riverty`. + example: manual + enum: + - automatic + - manual + x-speakeasy-unknown-values: allow + entity-payment-route-response: + type: object + required: + - resource + - id + - mode + - createdAt + - amount + - destination + - _links + properties: + resource: + type: string + description: Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + readOnly: true + example: route + id: + $ref: '#/components/schemas/routeToken' + description: |- + The identifier uniquely referring to this route. Mollie will always refer to the route by this ID. + Example: `rt_5B8cwPMGnU6qLbRvo7qEZo`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + amount: + $ref: '#/components/schemas/amount' + description: The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. + destination: + type: object + description: The destination of this portion of the payment. + required: + - type + - organizationId + properties: + type: + $ref: '#/components/schemas/route-destination-type-response' + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for destination type `organization`. The ID of the connected organization the funds should be + routed to. + createdAt: + type: string + description: The date and time when the route was created. The date is given in ISO 8601 format. + readOnly: true + example: '2024-12-12T10:00:00Z' + releaseDate: + type: + - string + - 'null' + description: |- + Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The + date must be given in `YYYY-MM-DD` format. + + If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. + example: '2024-12-12' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that belong to this route. + x-speakeasy-unknown-values: allow + route-destination-type-response: + type: string + description: The type of destination. Currently only the destination type `organization` is supported. + enum: + - organization + example: organization + x-speakeasy-unknown-values: allow + sequence-type-response: + type: string + enum: + - oneoff + - first + - recurring + example: oneoff + x-speakeasy-unknown-values: allow + payment-details-card-audition-response: + type: + - string + - 'null' + description: The card's target audience, if known. + enum: + - consumer + - business + example: consumer + x-speakeasy-unknown-values: allow + payment-details-card-label-response: + type: + - string + - 'null' + description: The card's label, if known. + enum: + - American Express + - Carta Si + - Carte Bleue + - Dankort + - Diners Club + - Discover + - JCB + - Laser + - Maestro + - Mastercard + - Unionpay + - Visa + - Vpay + example: Mastercard + x-speakeasy-unknown-values: allow + payment-details-card-funding-response: + type: + - string + - 'null' + description: The card type. + enum: + - debit + - credit + - prepaid + - deferred-debit + example: credit + x-speakeasy-unknown-values: allow + payment-details-card-security-response: + type: + - string + - 'null' + description: The level of security applied during card processing. + enum: + - normal + - 3dsecure + example: normal + x-speakeasy-unknown-values: allow + payment-details-fee-region-response: + type: + - string + - 'null' + description: The applicable card fee region. + enum: + - american-express + - amex-intra-eea + - carte-bancaire + - intra-eu + - intra-eu-corporate + - domestic + - maestro + - other + - inter + - intra_eea + example: maestro + x-speakeasy-unknown-values: allow + payment-details-failure-reason-response: + type: + - string + - 'null' + description: A failure code to help understand why the payment failed. + enum: + - authentication_abandoned + - authentication_failed + - authentication_required + - authentication_unavailable_acs + - card_declined + - card_expired + - inactive_card + - insufficient_funds + - invalid_cvv + - invalid_card_holder_name + - invalid_card_number + - invalid_card_type + - possible_fraud + - refused_by_issuer + - unknown_reason + example: card_declined + x-speakeasy-unknown-values: allow + payment-details-wallet-response: + type: + - string + - 'null' + description: The wallet used when creating the payment. + enum: + - applepay + example: applepay + x-speakeasy-unknown-values: allow + payment-details-seller-protection-response: + type: + - string + - 'null' + description: |- + Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal + payments, and if the information is made available by PayPal. + enum: + - Eligible + - Ineligible + - Partially Eligible - INR Only + - Partially Eligible - Unauth Only + - Partially Eligible + - None + - Active + - Fraud Control - Unauth Premium Eligible + example: Eligible + x-speakeasy-unknown-values: allow + payment-details-receipt-card-read-method-response: + type: + - string + - 'null' + description: The method by which the card was read by the terminal. + enum: + - chip + - magnetic-stripe + - near-field-communication + - contactless + - moto + example: contactless + x-speakeasy-unknown-values: allow + payment-details-receipt-card-verification-method-response: + type: + - string + - 'null' + description: The method used to verify the cardholder's identity. + enum: + - no-cvm-required + - online-pin + - offline-pin + - consumer-device + - signature + - signature-and-online-pin + - online-pin-and-signature + - none + - failed + example: no-cvm-required + x-speakeasy-unknown-values: allow + entity-capture-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. + readOnly: true + example: capture + id: + $ref: '#/components/schemas/captureToken' + description: 'The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: The description of the capture. + maxLength: 255 + example: 'Capture for cart #12345' + amount: + $ref: '#/components/schemas/amount-nullable' + description: The amount captured. If no amount is provided, the full authorized amount is captured. + settlementAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + This optional field will contain the approximate amount that will be settled to your account, converted to the + currency your account is settled in. + + Since the field contains an estimated amount during capture processing, it may change over time. To retrieve + accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) + instead. + readOnly: true + status: + $ref: '#/components/schemas/capture-status' + readOnly: true + metadata: + $ref: '#/components/schemas/metadata' + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + shipmentId: + type: + - string + - 'null' + $ref: '#/components/schemas/shipmentToken' + description: |- + The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example: + `shp_gNapNy9qQTUFZYnCrCF7J`. + readOnly: true + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: |- + The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field + is omitted if the capture is not settled (yet). + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + - documentation + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that this capture belongs to. + settlement: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [settlement](get-settlement) this capture has been settled with. Not present if + not yet settled. + shipment: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [shipment](get-shipment) this capture is associated with. Not present if + it isn't associated with a shipment. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + entity-refund-response: + type: object + required: + - resource + - id + - mode + - amount + - status + - createdAt + - description + - metadata + - _links + properties: + resource: + type: string + description: Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. + readOnly: true + example: refund + id: + $ref: '#/components/schemas/refundToken' + description: |- + The identifier uniquely referring to this refund. Mollie assigns this identifier at refund creation time. Mollie + will always refer to the refund by this ID. Example: `re_4qqhO89gsT`. + readOnly: true + mode: + $ref: '#/components/schemas/mode' + description: + type: string + description: The description of the refund that may be shown to your customer, depending on the payment method used. + maxLength: 255 + example: Refunding a Chess Board + amount: + $ref: '#/components/schemas/amount' + description: |- + The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment + amount. + settlementAmount: + $ref: '#/components/schemas/amount-nullable' + description: |- + This optional field will contain the approximate amount that will be deducted from your account balance, converted + to the currency your account is settled in. + + The amount is a **negative** amount. + + If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be + zero. + + Since the field contains an estimated amount during refund processing, it may change over time. For example, while + the refund is queued the settlement amount is likely not yet available. + + To retrieve accurate settlement amounts we recommend using the + [List balance transactions endpoint](list-balance-transactions) instead. + readOnly: true + metadata: + $ref: '#/components/schemas/metadata' + paymentId: + $ref: '#/components/schemas/paymentToken' + description: |- + The unique identifier of the payment this refund was created for. + The full payment object can be retrieved via the payment URL in the `_links` object. + readOnly: true + settlementId: + type: + - string + - 'null' + $ref: '#/components/schemas/settlementToken' + description: The identifier referring to the settlement this refund was settled with. This field is omitted if the refund is not settled (yet). + readOnly: true + status: + $ref: '#/components/schemas/refund-status' + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + externalReference: + type: object + properties: + type: + $ref: '#/components/schemas/refund-external-reference-type-response' + id: + type: string + description: Unique reference from the payment provider + example: 123456789012345 + reverseRouting: + type: + - boolean + - 'null' + description: |- + *This feature is only available to marketplace operators.* + + With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie + merchants, by providing the `routing` object during [payment creation](create-payment). + + When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. + + If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to + `true` when issuing a full refund. + + For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. + writeOnly: true + example: false + routingReversals: + type: + - array + - 'null' + description: |- + *This feature is only available to marketplace operators.* + + When creating refunds for *routed* payments, by default the full amount is deducted from your balance. + + If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount + needs to be reversed from which merchant(s). + + If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. + items: + type: object + properties: + amount: + $ref: '#/components/schemas/amount' + description: The amount that will be pulled back. + source: + type: object + description: Where the funds will be pulled back from. + properties: + type: + $ref: '#/components/schemas/refund-routing-reversals-source-type' + writeOnly: true + organizationId: + $ref: '#/components/schemas/organizationToken' + description: |- + Required for source type `organization`. The ID of the connected organization the funds should be pulled + back from. + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - payment + - documentation + properties: + self: + $ref: '#/components/schemas/url' + payment: + $ref: '#/components/schemas/url' + description: The API resource URL of the [payment](get-payment) that this refund belongs to. + settlement: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [settlement](get-settlement) this refund has been settled with. Not present if not + yet settled. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + refund-external-reference-type-response: + type: string + description: Specifies the reference type + enum: + - acquirer-reference + example: acquirer-reference + x-speakeasy-unknown-values: allow + entity-profile-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. + readOnly: true + example: profile + id: + type: string + description: 'The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`.' + readOnly: true + example: pfl_QkEhN94Ba + mode: + $ref: '#/components/schemas/mode' + example: live + name: + type: string + description: |- + The profile's name, this will usually reflect the trade name or brand name of the profile's website or + application. + example: My website name + website: + type: string + description: |- + The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are + allowed. + example: https://example.com + email: + type: string + description: The email address associated with the profile's trade name or brand. + example: test@mollie.com + phone: + type: string + description: The phone number associated with the profile's trade name or brand. + example: '+31208202070' + description: + type: string + description: The products or services offered by the profile's website or application. + example: My website description + maxLength: 500 + countriesOfActivity: + type: array + items: + type: string + description: |- + A list of countries where you expect that the majority of the profile's customers reside, + in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + example: + - NL + - GB + businessCategory: + type: string + description: |- + The industry associated with the profile's trade name or brand. Please refer to the + [business category list](common-data-types#business-category) for all possible options. + example: OTHER_MERCHANDISE + status: + $ref: '#/components/schemas/profile-status' + readOnly: true + review: + type: object + description: |- + Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved + automatically, unless a switch to a live profile has been requested. The review object will therefore usually be + `null` in test mode. + properties: + status: + $ref: '#/components/schemas/profile-review-status-response' + readOnly: true + example: + status: pending + createdAt: + $ref: '#/components/schemas/created-at' + example: '2022-01-19T12:30:22+00:00' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + description: Link to the profile in the Mollie dashboard. + chargebacks: + $ref: '#/components/schemas/url' + description: The API resource URL of the chargebacks that belong to this profile. + methods: + $ref: '#/components/schemas/url' + description: The API resource URL of the methods that are enabled for this profile. + payments: + $ref: '#/components/schemas/url' + description: The API resource URL of the payments that belong to this profile. + refunds: + $ref: '#/components/schemas/url' + description: The API resource URL of the refunds that belong to this profile. + checkoutPreviewUrl: + $ref: '#/components/schemas/url' + description: The hosted checkout preview URL. You need to be logged in to access this page. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + example: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_7049691/settings/profiles/pfl_2q3RyuMGry + type: text/html + chargebacks: + href: https://api.mollie.com/v2/chargebacks?profileId=pfl_2q3RyuMGry + type: application/hal+json + methods: + href: https://api.mollie.com/v2/methods?profileId=pfl_2q3RyuMGry + type: application/hal+json + payments: + href: https://api.mollie.com/v2/payments?profileId=pfl_2q3RyuMGry + type: application/hal+json + refunds: + href: https://api.mollie.com/v2/refunds?profileId=pfl_2q3RyuMGry + type: application/hal+json + checkoutPreviewUrl: + href: https://www.mollie.com/checkout/preview/pfl_2q3RyuMGry + type: text/html + documentation: + href: ... + type: text/html + x-speakeasy-unknown-values: allow + profile-review-status-response: + type: string + description: The status of the requested changes. + enum: + - pending + - rejected + example: pending + x-speakeasy-unknown-values: allow + entity-client-link-response: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a client link object. Will always contain the string `client-link` for this + endpoint. + readOnly: true + example: client-link + id: + type: string + description: 'The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`.' + readOnly: true + example: cl_vZCnNQsV2UtfXxYifWKWH + owner: + type: object + description: Personal data of your customer. + properties: + email: + type: string + description: The email address of your customer. + example: john@example.org + givenName: + type: string + description: The given name (first name) of your customer. + example: John + familyName: + type: string + description: The family name (surname) of your customer. + example: Doe + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale-response' + description: |- + Preset the language to be used for the login screen, if applicable. For the consent screen, the preferred + language of the logged in merchant will be used and this parameter is ignored. + + When this parameter is omitted, the browser language will be used instead. + required: + - email + - givenName + - familyName + writeOnly: true + name: + type: string + description: Name of the organization. + example: Acme Corporation + writeOnly: true + address: + type: object + description: Address of the organization. + properties: + streetAndNumber: + type: + - string + - 'null' + description: The street name and house number of the organization. + example: Main Street 123 + postalCode: + type: + - string + - 'null' + description: |- + The postal code of the organization. Required if a street address is provided and if the country has a postal + code system. + example: 1234AB + city: + type: + - string + - 'null' + description: The city of the organization. Required if a street address is provided. + example: Amsterdam + country: + type: string + description: |- + The country of the address in + [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + example: NL + required: + - country + writeOnly: true + registrationNumber: + type: + - string + - 'null' + description: The registration number of the organization at their local chamber of commerce. + example: 12345678 + writeOnly: true + vatNumber: + type: + - string + - 'null' + description: |- + The VAT number of the organization, if based in the European Union. VAT numbers are verified against the + international registry *VIES*. + example: 123456789B01 + writeOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + clientLink: + $ref: '#/components/schemas/url' + description: |- + The link you can send your customer to, where they can either log in and link their account, or sign up and + proceed with onboarding. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + webhook-event-types-response: + type: string + description: The event's type + x-speakeasy-name-override: webhook-event-types + enum: + - payment-link.paid + - balance-transaction.created + - sales-invoice.created + - sales-invoice.issued + - sales-invoice.canceled + - sales-invoice.paid + - '*' + x-enumDescriptions: + payment-link.paid: Occurs when a payment link has been paid. + balance-transaction.created: Occurs when a balance transaction is created to add to your available balance. It currently only supports positive amounts and non-captured payments. + sales-invoice.created: Occurs when a sales invoice has been created. + sales-invoice.issued: Occurs when a sales invoice has been issued. + sales-invoice.canceled: Occurs when a sales invoice has been canceled. + sales-invoice.paid: Occurs when a sales invoice has been paid. + '*': All event types. + example: payment-link.paid + x-speakeasy-unknown-values: allow + payment-link-sequence-type-response: + type: string + enum: + - oneoff + - first + example: oneoff + x-speakeasy-unknown-values: allow + entity-balance-transfer-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. + readOnly: true + example: connect-balance-transfer + id: + $ref: '#/components/schemas/connectBalanceTransferToken' + description: |- + The identifier uniquely referring to this balance transfer. Mollie assigns this identifier at balance transfer creation time. Mollie + will always refer to the balance transfer by this ID. Example: `cbtr_j8NvRAM2WNZtsykpLEX8J`. + readOnly: true + amount: + $ref: '#/components/schemas/amount' + description: The amount to be transferred, e.g. `{"currency":"EUR", "value":"1000.00"}` if you would like to transfer €1000.00. + source: + $ref: '#/components/schemas/entity-balance-transfer-party-response' + destination: + $ref: '#/components/schemas/entity-balance-transfer-party-response' + description: + type: string + description: The transfer description for initiating party. + maxLength: 255 + example: Invoice fee + status: + $ref: '#/components/schemas/balance-transfer-status' + statusReason: + type: object + readOnly: true + description: The reason for the current status of the transfer, if applicable. + properties: + code: + $ref: '#/components/schemas/balance-transfer-status-reason-response' + message: + type: string + description: A description of the status reason, localized according to the transfer. + example: Insufficient funds in the source balance. + required: + - code + - message + category: + $ref: '#/components/schemas/balance-transfer-category-response' + createdAt: + $ref: '#/components/schemas/created-at' + executedAt: + type: + - string + - 'null' + description: |- + The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is + not executed (yet). + readOnly: true + example: '2024-03-20T09:28:37.0Z' + testmode: + $ref: '#/components/schemas/testmode-create' + mode: + $ref: '#/components/schemas/mode' + required: + - resource + - id + - amount + - source + - destination + - description + - status + - statusReason + - createdAt + - mode + x-speakeasy-unknown-values: allow + entity-balance-transfer-party-response: + type: object + description: A party involved in the balance transfer, either the sender or the receiver. + properties: + type: + $ref: '#/components/schemas/balance-transfer-party-type-response' + id: + $ref: '#/components/schemas/organizationToken' + description: Identifier of the party. For example, this contains the organization token if the type is `organization`. + description: + type: string + description: The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. + maxLength: 255 + example: Invoice fee + required: + - type + - id + - description + x-speakeasy-unknown-values: allow + balance-transfer-party-type-response: + type: string + description: Defines the type of the party. At the moment, only `organization` is supported. + enum: + - organization + example: organization + x-speakeasy-unknown-values: allow + balance-transfer-status-reason-response: + type: string + description: A machine-readable code that indicates the reason for the transfer's status. + example: insufficient_funds + enum: + - request_created + - success + - source_not_allowed + - destination_not_allowed + - insufficient_funds + - invalid_source_balance + - invalid_destination_balance + - transfer_request_expired + - transfer_limit_reached + x-enumDescriptions: + request_created: Balance transfer request was created. + success: Balance transfer completed successfully. + source_not_allowed: Balance transfers from the source organization are not allowed. + destination_not_allowed: Balance transfers to the destination organization are not allowed. + insufficient_funds: Source does not have enough balance. + invalid_source_balance: Invalid balance for source organization. + invalid_destination_balance: Invalid balance for destination organization. + transfer_request_expired: Request for balance transfer has expired. + transfer_limit_reached: Transfer limit has been exceeded. + x-speakeasy-unknown-values: allow + balance-transfer-category-response: + type: string + description: The type of the transfer. Different fees may apply to different types of transfers. + enum: + - invoice_collection + - purchase + - chargeback + - refund + - service_penalty + - discount_compensation + - manual_correction + - other_fee + example: invoice_collection + x-speakeasy-unknown-values: allow + entity-customer-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + readOnly: true + example: customer + id: + $ref: '#/components/schemas/customerToken' + description: 'The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`.' + readOnly: true + mode: + $ref: '#/components/schemas/mode' + name: + type: + - string + - 'null' + description: The full name of the customer. + example: John Doe + email: + type: + - string + - 'null' + description: The email address of the customer. + example: example@email.com + locale: + type: + - string + - 'null' + $ref: '#/components/schemas/locale-response' + description: |- + Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if + absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + metadata: + $ref: '#/components/schemas/metadata' + createdAt: + $ref: '#/components/schemas/created-at' + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - dashboard + - documentation + properties: + self: + $ref: '#/components/schemas/url' + dashboard: + $ref: '#/components/schemas/url' + payments: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments + exist (yet). + mandates: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates + exist (yet). + subscriptions: + $ref: '#/components/schemas/url-nullable' + description: |- + The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such + subscriptions exist (yet). + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + entity-mandate-response: + type: object + properties: + resource: + type: string + description: Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + readOnly: true + example: mandate + id: + $ref: '#/components/schemas/mandateToken' + description: 'The identifier uniquely referring to this mandate. Example: `mdt_pWUnw6pkBN`.' + mode: + $ref: '#/components/schemas/mode' + method: + $ref: '#/components/schemas/mandate-method-response' + consumerName: + type: string + description: The customer's name. + example: John Doe + writeOnly: true + consumerAccount: + type: + - string + - 'null' + description: The customer's IBAN. Required for SEPA Direct Debit mandates. + example: NL55INGB0000000000 + writeOnly: true + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank. + example: BANKBIC + writeOnly: true + consumerEmail: + type: + - string + - 'null' + description: The customer's email address. Required for PayPal mandates. + example: example@email.com + writeOnly: true + details: + type: object + properties: + consumerName: + type: + - string + - 'null' + description: The customer's name. Available for SEPA Direct Debit and PayPal mandates. + example: John Doe + consumerAccount: + type: + - string + - 'null' + description: The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. + example: NL55INGB0000000000 + consumerBic: + type: + - string + - 'null' + description: The BIC of the customer's bank. Available for SEPA Direct Debit mandates. + example: BANKBIC + cardHolder: + type: + - string + - 'null' + description: The card holder's name. Available for card mandates. + example: John Doe + cardNumber: + type: + - string + - 'null' + description: The last four digits of the card number. Available for card mandates. + example: 3240 + cardExpiryDate: + type: + - string + - 'null' + description: The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. + example: '2025-01-01' + cardLabel: + $ref: '#/components/schemas/mandate-details-card-label-response' + cardFingerprint: + type: + - string + - 'null' + description: |- + Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify + returning customers. + example: d3290e932k02f + readOnly: true + signatureDate: + type: + - string + - 'null' + description: The date when the mandate was signed in `YYYY-MM-DD` format. + example: '2025-01-01' + mandateReference: + type: + - string + - 'null' + description: |- + A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will + decline Direct Debit payments if the mandate reference is not unique. + example: ID-1023892 + paypalBillingAgreementId: + type: + - string + - 'null' + description: |- + The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. + Must provide either this field or `payPalVaultId`, but not both. + example: B-12A34567B8901234CD + writeOnly: true + payPalVaultId: + type: + - string + - 'null' + description: |- + The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. + Must provide either this field or `paypalBillingAgreementId`, but not both. + example: 8kk8451t + writeOnly: true + status: + $ref: '#/components/schemas/mandate-status' + readOnly: true + customerId: + type: string + $ref: '#/components/schemas/customerToken' + description: The identifier referring to the [customer](get-customer) this mandate was linked to. + readOnly: true + createdAt: + $ref: '#/components/schemas/created-at' + testmode: + $ref: '#/components/schemas/testmode-create' + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + required: + - self + - customer + - documentation + properties: + self: + $ref: '#/components/schemas/url' + customer: + $ref: '#/components/schemas/url' + description: The API resource URL of the [customer](get-customer) that this mandate belongs to. + documentation: + $ref: '#/components/schemas/url' + readOnly: true + x-speakeasy-unknown-values: allow + mandate-method-response: + type: string + description: |- + Payment method of the mandate. + + SEPA Direct Debit and PayPal mandates can be created directly. + enum: + - creditcard + - directdebit + - paypal + example: directdebit + x-speakeasy-unknown-values: allow + mandate-details-card-label-response: + type: + - string + - 'null' + description: The card's label. Available for card mandates, if the card label could be detected. + enum: + - American Express + - Carta Si + - Carte Bleue + - Dankort + - Diners Club + - Discover + - JCB + - Laser + - Maestro + - Mastercard + - Unionpay + - Visa + example: Visa + x-speakeasy-unknown-values: allow + subscription-method-response: + type: + - string + - 'null' + description: The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. + enum: + - creditcard + - directdebit + - paypal + - null + example: paypal + x-speakeasy-unknown-values: allow + entity-sales-invoice-response: + type: object + properties: + resource: + type: string + description: |- + Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this + endpoint. + readOnly: true + writeOnly: false + example: sales-invoice + id: + $ref: '#/components/schemas/salesInvoiceToken' + type: string + description: 'The identifier uniquely referring to this invoice. Example: `invoice_4Y0eZitmBnQ6IDoMqZQKh`.' + readOnly: true + testmode: + $ref: '#/components/schemas/testmode-create' + invoiceNumber: + example: INV-0000001 + type: + - string + - 'null' + description: When issued, an invoice number will be set for the sales invoice. + readOnly: true + profileId: + type: + - string + - 'null' + description: |- + The identifier referring to the [profile](get-profile) this entity belongs to. + + Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation + request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is + required. + example: pfl_QkEhN94Ba + writeOnly: true + status: + $ref: '#/components/schemas/sales-invoice-status-response' + vatScheme: + $ref: '#/components/schemas/sales-invoice-vat-scheme-response' + vatMode: + $ref: '#/components/schemas/sales-invoice-vat-mode-response' + memo: + example: This is a memo! + type: + - string + - 'null' + description: A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + metadata: + type: + - object + - 'null' + properties: {} + description: |- + Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever + you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. + paymentTerm: + $ref: '#/components/schemas/sales-invoice-payment-term-response' + paymentDetails: + $ref: '#/components/schemas/sales-invoice-payment-details-response' + description: |- + Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the + provided details. Required for `paid` status. + emailDetails: + $ref: '#/components/schemas/sales-invoice-email-details' + description: |- + Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the + recipient with the provided `subject` and `body`. Required for `issued` status. + customerId: + type: + - string + description: |- + The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If + provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. + example: cst_8wmqcHMN4U + mandateId: + type: string + description: |- + The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, + `customerId` becomes required as well. Only allowed for invoices with status `paid`. + example: mdt_pWUnw6pkBN + recipientIdentifier: + example: customer-xyz-0123 + type: string + description: |- + An identifier tied to the recipient data. This should be a unique value based on data your system contains, + so that both you and us know who we're referring to. It is a value you provide to us so that recipient management + is not required to send a first invoice to a recipient. + recipient: + $ref: '#/components/schemas/sales-invoice-recipient-response' + lines: + type: + - array + - 'null' + description: |- + Provide the line items for the invoice. Each line contains details such as a description of the item + ordered and its price. + + All lines must have the same currency as the invoice. + items: + $ref: '#/components/schemas/sales-invoice-line-item-response' + discount: + $ref: '#/components/schemas/sales-invoice-discount-response' + description: The discount to be applied to the entire invoice, applied on top of any line item discounts. + amountDue: + $ref: '#/components/schemas/amount' + description: The amount that is left to be paid. + readOnly: true + subtotalAmount: + $ref: '#/components/schemas/amount' + description: The total amount without VAT before discounts. + readOnly: true + totalAmount: + $ref: '#/components/schemas/amount' + description: The total amount with VAT. + readOnly: true + totalVatAmount: + $ref: '#/components/schemas/amount' + description: The total VAT amount. + readOnly: true + discountedSubtotalAmount: + $ref: '#/components/schemas/amount' + description: The total amount without VAT after discounts. + readOnly: true + createdAt: + type: string + $ref: '#/components/schemas/created-at' + issuedAt: + example: '2024-10-03T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + paidAt: + example: '2024-10-04T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + dueAt: + example: '2024-11-01T10:47:38+00:00' + type: + - string + - 'null' + description: |- + If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) + format. + readOnly: true + _links: + type: object + description: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + properties: + self: + $ref: '#/components/schemas/url' + invoicePayment: + $ref: '#/components/schemas/url' + description: |- + The URL your customer should visit to make payment for the invoice. This is where you should redirect the + customer to unless the `status` is set to `paid`. + pdfLink: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + description: The URL the invoice is available at, if generated. + documentation: + $ref: '#/components/schemas/url' + next: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + previous: + $ref: '#/components/schemas/url' + type: + - object + - 'null' + readOnly: true + writeOnly: false + x-speakeasy-unknown-values: allow + sales-invoice-status-response: + type: string + description: |- + The status for the invoice to end up in. + + A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to + the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to + mark it as paid. It can then subsequently be sent as well, same as with `issued`. + + A status value that cannot be set but can be returned is `canceled`, for invoices which were + issued, but then canceled. Currently this can only be done for invoices created in the dashboard. + + Dependent parameters: + - `paymentDetails` is required if invoice should be set directly to `paid` + - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` + - `emailDetails` optional for `issued` and `paid` to send the invoice by email + enum: + - draft + - issued + - paid + example: draft + x-speakeasy-unknown-values: allow + sales-invoice-vat-scheme-response: + type: string + description: The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. + enum: + - standard + - one-stop-shop + example: standard + x-speakeasy-unknown-values: allow + sales-invoice-vat-mode-response: + type: string + description: |- + The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the + price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. + enum: + - exclusive + - inclusive + example: exclusive + x-speakeasy-unknown-values: allow + sales-invoice-payment-term-response: + type: + - string + - 'null' + description: The payment term to be set on the invoice. + enum: + - 7 days + - 14 days + - 30 days + - 45 days + - 60 days + - 90 days + - 120 days + example: 30 days + x-speakeasy-unknown-values: allow + sales-invoice-payment-details-response: + type: + - object + - 'null' + required: + - source + properties: + source: + $ref: '#/components/schemas/sales-invoice-payment-details-source-response' + sourceReference: + example: pl_d9fQur83kFdhH8hIhaZfq + type: + - string + - 'null' + description: |- + A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and + `payment`. + x-speakeasy-unknown-values: allow + sales-invoice-payment-details-source-response: + type: string + description: The way through which the invoice is to be set to paid. + enum: + - manual + - payment-link + - payment + example: payment-link + x-speakeasy-unknown-values: allow + sales-invoice-recipient-response: + type: + - object + - 'null' + required: + - type + - email + - streetAndNumber + - postalCode + - city + - country + - locale + properties: + type: + $ref: '#/components/schemas/sales-invoice-recipient-type-response' + title: + example: Mrs. + type: + - string + - 'null' + description: The title of the `consumer` type recipient, for example Mr. or Mrs.. + givenName: + example: Jane + type: + - string + - 'null' + description: |- + The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain + only numbers. + familyName: + example: Doe + type: + - string + - 'null' + description: |- + The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain + only numbers. + organizationName: + example: Organization Corp. + type: + - string + - 'null' + description: The trading name of the `business` type recipient. + organizationNumber: + example: '12345678' + type: + - string + - 'null' + description: |- + The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` + has to be provided. + vatNumber: + example: NL123456789B01 + type: + - string + - 'null' + description: |- + The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` + has to be provided. + email: + example: example@email.com + type: string + description: The email address of the recipient. + phone: + example: '+0123456789' + type: + - string + - 'null' + description: The phone number of the recipient. + streetAndNumber: + example: Keizersgracht 126 + type: string + description: A street and street number. + streetAdditional: + example: 4th floor + type: + - string + - 'null' + description: Any additional addressing details, for example an apartment number. + postalCode: + example: 5678AB + type: string + description: A postal code. + city: + example: Amsterdam + type: string + description: The recipient's city. + region: + example: Noord-Holland + type: + - string + - 'null' + description: The recipient's region. + country: + example: NL + type: string + description: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + locale: + $ref: '#/components/schemas/sales-invoice-recipient-locale-response' + x-speakeasy-unknown-values: allow + sales-invoice-recipient-type-response: + type: string + description: |- + The type of recipient, either `consumer` or `business`. This will determine what further fields are + required on the `recipient` object. + enum: + - consumer + - business + example: consumer + x-speakeasy-unknown-values: allow + sales-invoice-recipient-locale-response: + type: string + description: The locale for the recipient, to be used for translations in PDF generation and payment pages. + enum: + - en_US + - en_GB + - nl_NL + - nl_BE + - de_DE + - de_AT + - de_CH + - fr_FR + - fr_BE + example: nl_NL + x-speakeasy-unknown-values: allow + sales-invoice-line-item-response: + type: object + required: + - description + - quantity + - vatRate + - unitPrice + properties: + description: + example: LEGO 4440 Forest Police Station + type: string + description: A description of the line item. For example *LEGO 4440 Forest Police Station*. + maxLength: 100 + quantity: + example: 1 + type: integer + description: The number of items. + minimum: 1 + vatRate: + example: '21.00' + type: string + description: The vat rate to be applied to this line item. + unitPrice: + $ref: '#/components/schemas/amount' + description: |- + The price of a single item excluding VAT. + + For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. + + The unit price can be zero in case of free items. + discount: + $ref: '#/components/schemas/sales-invoice-discount-response' + description: The discount to be applied to the line item. + x-speakeasy-unknown-values: allow + sales-invoice-discount-response: + type: + - object + - 'null' + required: + - type + - value + properties: + type: + $ref: '#/components/schemas/sales-invoice-discount-type-response' + value: + example: '10.00' + type: string + description: A string containing an exact monetary amount in the given currency, or the percentage. + x-speakeasy-unknown-values: allow + sales-invoice-discount-type-response: + type: string + description: The type of discount. + enum: + - amount + - percentage + example: amount + x-speakeasy-unknown-values: allow + responses: + 400-invalid-list-request: + description: The request contains issues. For example, if the specified `from` value is not a valid ID. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 400 + title: Bad Request + detail: Invalid cursor value + field: from + _links: + documentation: + href: ... + type: text/html + 404-invalid-id: + description: No entity with this ID exists. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 404 + title: Not Found + detail: No entity exists with token '7UhSN1zuXS' + _links: + documentation: + href: ... + type: text/html + 422-mandatory-owner: + description: The request contains issues. For example, if the `owner` field is missing. + content: + application/hal+json: + schema: + $ref: '#/components/schemas/error-response' + example: + status: 422 + title: Unprocessable Entity + detail: The 'owner' field is missing + field: owner + _links: + documentation: + href: ... + type: text/html + examples: + list-chargebacks: + summary: List of chargeback objects + value: + count: 1 + _embedded: + chargebacks: + - resource: chargeback + id: chb_xFzwUN4ci8HAmSGUACS4J + amount: + currency: USD + value: '43.38' + settlementAmount: + currency: EUR + value: '-35.07' + reason: + code: AC01 + description: Account identifier incorrect (i.e. invalid IBAN) + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + reversedAt: null + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + _links: + self: + href: ... + type: application/hal+json + previous: null + next: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo/chargebacks?from=chb_xFzwUN4ci8HAmSGUACS4J&limit=5 + type: application/hal+json + documentation: + href: ... + type: text/html + get-profile: + summary: The profile object + value: + resource: profile + id: pfl_QkEhN94Ba + mode: live + name: My website name + website: https://shop.example.org + email: info@example.org + phone: '+31208202070' + businessCategory: OTHER_MERCHANDISE + status: verified + review: + status: pending + createdAt: '2023-03-20T09:28:37.0Z' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_123456789/settings/profiles/pfl_QkEhN94Ba + type: text/html + documentation: + href: ... + type: text/html + get-payment: + summary: The payment object + value: + resource: payment + id: tr_5B8cwPMGnU6qLbRvo7qEZo + mode: live + amount: + value: '10.00' + currency: EUR + description: 'Order #12345' + sequenceType: oneoff + redirectUrl: https://webshop.example.org/order/12345/ + webhookUrl: https://webshop.example.org/payments/webhook/ + metadata: '{"order_id":12345}' + profileId: pfl_QkEhN94Ba + status: open + isCancelable: false + createdAt: '2024-03-20T09:13:37.0Z' + expiresAt: '2024-03-20T09:28:37.0Z' + _links: + self: + href: ... + type: application/hal+json + checkout: + href: https://www.mollie.com/checkout/select-method/7UhSN1zuXS + type: text/html + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: text/html + documentation: + href: ... + type: text/html + cancel-payment: + summary: The canceled payment object + value: + resource: payment + id: tr_WDqYK6vllg + mode: live + amount: + value: '35.07' + currency: EUR + description: Order 33 + method: banktransfer + details: + bankName: Stichting Mollie Payments + bankAccount: NL53ABNA0627535577 + bankBic: ABNANL2A + transferReference: RF12-3456-7890-1234 + sequenceType: oneoff + redirectUrl: https://webshop.example.org/order/33/ + metadata: null + profileId: pfl_QkEhN94Ba + status: canceled + createdAt: '2024-03-20T09:13:37.0Z' + canceledAt: '2024-03-20T10:19:15.0Z' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_12345678/payments/tr_WDqYK6vllg + type: text/html + documentation: + href: ... + type: text/html + get-method: + summary: The payment method object + value: + resource: method + id: ideal + description: iDEAL + minimumAmount: + value: '0.01' + currency: EUR + maximumAmount: + value: '50000.00' + currency: EUR + image: + size1x: https://mollie.com/external/icons/payment-methods/ideal.png + size2x: https://mollie.com/external/icons/payment-methods/ideal%402x.png + svg: https://mollie.com/external/icons/payment-methods/ideal.svg + status: activated + _links: + self: + href: ... + type: application/hal+json + documentation: + href: ... + type: text/html + get-refund: + summary: The payment object + value: + resource: refund + id: re_4qqhO89gsT + mode: live + description: Order + amount: + currency: EUR + value: '5.95' + status: pending + metadata: '{"bookkeeping_id":12345}' + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-03-14T17:09:02.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + get-capture: + summary: The capture object + value: + resource: capture + id: cpt_vytxeTZskVKR7C7WgdSP3d + mode: live + description: 'Capture for cart #12345' + amount: + currency: EUR + value: '35.95' + metadata: '{"bookkeeping_id":12345}' + status: pending + paymentId: tr_5B8cwPMGnU6qLbRvo7qEZo + createdAt: '2023-08-02T09:29:56.0Z' + _links: + self: + href: ... + type: application/hal+json + payment: + href: https://api.mollie.com/v2/payments/tr_5B8cwPMGnU6qLbRvo7qEZo + type: application/hal+json + documentation: + href: ... + type: text/html + get-payment-link: + summary: The payment link object + value: + resource: payment-link + id: pl_4Y0eZitmBnQ6IDoMqZQKh + mode: live + description: Bicycle tires + amount: + currency: EUR + value: '24.95' + archived: false + redirectUrl: https://webshop.example.org/thanks + webhookUrl: https://webshop.example.org/payment-links/webhook + profileId: pfl_QkEhN94Ba + createdAt: '2021-03-20T09:29:56.0Z' + paidAt: '2022-03-20T09:29:56.0Z' + expiresAt: '2023-06-06T11:00:00.0Z' + reusable: false + allowedMethods: + - ideal + sequenceType: oneoff + customerId: null + _links: + self: + href: ... + type: application/hal+json + paymentLink: + href: https://payment-links.mollie.com/payment/4Y0eZitmBnQ6IDoMqZQKh + type: text/html + documentation: + href: ... + type: text/html + get-customer: + summary: A customer object + value: + resource: customer + id: cst_tKt44u85MM + mode: test + name: Jane Doe + email: test@mollie.com + locale: en_US + metadata: + someProperty: someValue + anotherProperty: anotherValue + createdAt: '2022-01-03T13:42:04+00:00' + _links: + self: + href: ... + type: application/hal+json + dashboard: + href: https://www.mollie.com/dashboard/org_13514547/customers/cst_tKt44u85MM + type: text/html + documentation: + href: ... + type: text/html + get-mandate: + summary: The mandate object + value: + resource: mandate + id: mdt_h3gAaD5zP + mode: live + status: valid + method: directdebit + details: + consumerName: John Doe + consumerAccount: NL55INGB0000000000 + consumerBic: INGBNL2A + mandateReference: EXAMPLE-CORP-MD13804 + signatureDate: '2023-05-07' + customerId: cst_4qqhO89gsT + createdAt: '2023-05-07T10:49:08.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_4qqhO89gsT + type: application/hal+json + documentation: + href: ... + type: text/html + get-subscription: + summary: The subscription object + value: + resource: subscription + id: sub_rVKGtNd6s3 + mode: live + amount: + currency: EUR + value: '25.00' + times: 4 + timesRemaining: 4 + interval: 3 months + startDate: '2023-06-01' + nextPaymentDate: '2023-09-01' + description: Quarterly payment + metadata: null + method: null + status: active + webhookUrl: https://webshop.example.org/payments/webhook + customerId: cst_stTC2WHAuS + mandateId: mdt_38HS4fsS + createdAt: '2023-04-06T13:10:19.0Z' + _links: + self: + href: ... + type: application/hal+json + customer: + href: https://api.mollie.com/v2/customers/cst_stTC2WHAuS + type: application/hal+json + profile: + href: ... + type: text/html + documentation: + href: ... + type: text/html + requestBodies: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/payment-request' +x-readme: + explorer-enabled: false + samples-languages: + - shell + - php + - node + - python + - ruby +x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 500 + maxInterval: 60000 + maxElapsedTime: 3600000 + exponent: 1.5 + statusCodes: + - 5xx + retryConnectionErrors: true \ No newline at end of file diff --git a/docs/Address.md b/docs/Address.md new file mode 100644 index 0000000..84836d3 --- /dev/null +++ b/docs/Address.md @@ -0,0 +1,14 @@ +# Address + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**street_and_number** | Option<**String**> | A street and street number. | [optional] +**postal_code** | Option<**String**> | A postal code. This field may be required if the provided country has a postal code system. | [optional] +**city** | Option<**String**> | | [optional] +**country** | Option<**String**> | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Amount.md b/docs/Amount.md new file mode 100644 index 0000000..8dc9cfe --- /dev/null +++ b/docs/Amount.md @@ -0,0 +1,12 @@ +# Amount + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency** | **String** | A three-character ISO 4217 currency code. | +**value** | **String** | A string containing an exact monetary amount in the given currency. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AmountNullable.md b/docs/AmountNullable.md new file mode 100644 index 0000000..2266f0b --- /dev/null +++ b/docs/AmountNullable.md @@ -0,0 +1,12 @@ +# AmountNullable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency** | **String** | A three-character ISO 4217 currency code. | +**value** | **String** | A string containing an exact monetary amount in the given currency. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceReportGrouping.md b/docs/BalanceReportGrouping.md new file mode 100644 index 0000000..28509c8 --- /dev/null +++ b/docs/BalanceReportGrouping.md @@ -0,0 +1,13 @@ +# BalanceReportGrouping + +## Enum Variants + +| Name | Value | +|---- | -----| +| StatusBalances | status-balances | +| TransactionCategories | transaction-categories | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceStatus.md b/docs/BalanceStatus.md new file mode 100644 index 0000000..a7649be --- /dev/null +++ b/docs/BalanceStatus.md @@ -0,0 +1,13 @@ +# BalanceStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Active | active | +| Inactive | inactive | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransactionType.md b/docs/BalanceTransactionType.md new file mode 100644 index 0000000..f157e83 --- /dev/null +++ b/docs/BalanceTransactionType.md @@ -0,0 +1,57 @@ +# BalanceTransactionType + +## Enum Variants + +| Name | Value | +|---- | -----| +| ApplicationFee | application-fee | +| Capture | capture | +| Chargeback | chargeback | +| ChargebackReversal | chargeback-reversal | +| FailedPaymentFee | failed-payment-fee | +| FailedPayment | failed-payment | +| InvoiceCompensation | invoice-compensation | +| Payment | payment | +| PaymentFee | payment-fee | +| PaymentCommission | payment-commission | +| Refund | refund | +| ReturnedRefund | returned-refund | +| ReturnedTransfer | returned-transfer | +| SplitPayment | split-payment | +| OutgoingTransfer | outgoing-transfer | +| CaptureCommission | capture-commission | +| CanceledOutgoingTransfer | canceled-outgoing-transfer | +| IncomingTransfer | incoming-transfer | +| ApiPaymentRollingReserveRelease | api-payment-rolling-reserve-release | +| CaptureRollingReserveRelease | capture-rolling-reserve-release | +| ReimbursementFee | reimbursement-fee | +| BalanceCorrection | balance-correction | +| UnauthorizedDirectDebit | unauthorized-direct-debit | +| BankChargedFailureFee | bank-charged-failure-fee | +| PlatformPaymentRefund | platform-payment-refund | +| RefundCompensation | refund-compensation | +| ReturnedRefundCompensation | returned-refund-compensation | +| ReturnedPlatformPaymentRefund | returned-platform-payment-refund | +| PlatformPaymentChargeback | platform-payment-chargeback | +| ChargebackCompensation | chargeback-compensation | +| ReversedPlatformPaymentChargeback | reversed-platform-payment-chargeback | +| ReversedChargebackCompensation | reversed-chargeback-compensation | +| FailedSplitPaymentPlatform | failed-split-payment-platform | +| FailedSplitPaymentCompensation | failed-split-payment-compensation | +| CashAdvanceLoan | cash-advance-loan | +| PlatformConnectedOrganizationsFee | platform-connected-organizations-fee | +| SplitTransaction | split-transaction | +| ManagedFee | managed-fee | +| ReturnedManagedFee | returned-managed-fee | +| Topup | topup | +| BalanceReserve | balance-reserve | +| BalanceReserveReturn | balance-reserve-return | +| Movement | movement | +| PostPaymentSplitPayment | post-payment-split-payment | +| CashCollateralIssuance | cash-collateral-issuance | +| CashCollateralRelease | cash-collateral-release | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferCategory.md b/docs/BalanceTransferCategory.md new file mode 100644 index 0000000..158ef31 --- /dev/null +++ b/docs/BalanceTransferCategory.md @@ -0,0 +1,19 @@ +# BalanceTransferCategory + +## Enum Variants + +| Name | Value | +|---- | -----| +| InvoiceCollection | invoice_collection | +| Purchase | purchase | +| Chargeback | chargeback | +| Refund | refund | +| ServicePenalty | service_penalty | +| DiscountCompensation | discount_compensation | +| ManualCorrection | manual_correction | +| OtherFee | other_fee | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferCategoryResponse.md b/docs/BalanceTransferCategoryResponse.md new file mode 100644 index 0000000..61b8966 --- /dev/null +++ b/docs/BalanceTransferCategoryResponse.md @@ -0,0 +1,19 @@ +# BalanceTransferCategoryResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| InvoiceCollection | invoice_collection | +| Purchase | purchase | +| Chargeback | chargeback | +| Refund | refund | +| ServicePenalty | service_penalty | +| DiscountCompensation | discount_compensation | +| ManualCorrection | manual_correction | +| OtherFee | other_fee | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferDestinationType.md b/docs/BalanceTransferDestinationType.md new file mode 100644 index 0000000..eda24e5 --- /dev/null +++ b/docs/BalanceTransferDestinationType.md @@ -0,0 +1,12 @@ +# BalanceTransferDestinationType + +## Enum Variants + +| Name | Value | +|---- | -----| +| BankAccount | bank-account | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferFrequency.md b/docs/BalanceTransferFrequency.md new file mode 100644 index 0000000..9f111bc --- /dev/null +++ b/docs/BalanceTransferFrequency.md @@ -0,0 +1,19 @@ +# BalanceTransferFrequency + +## Enum Variants + +| Name | Value | +|---- | -----| +| Daily | daily | +| EveryMonday | every-monday | +| EveryTuesday | every-tuesday | +| EveryWednesday | every-wednesday | +| EveryThursday | every-thursday | +| EveryFriday | every-friday | +| Monthly | monthly | +| Never | never | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferPartyType.md b/docs/BalanceTransferPartyType.md new file mode 100644 index 0000000..87af30a --- /dev/null +++ b/docs/BalanceTransferPartyType.md @@ -0,0 +1,12 @@ +# BalanceTransferPartyType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Organization | organization | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferPartyTypeResponse.md b/docs/BalanceTransferPartyTypeResponse.md new file mode 100644 index 0000000..9fb3e73 --- /dev/null +++ b/docs/BalanceTransferPartyTypeResponse.md @@ -0,0 +1,12 @@ +# BalanceTransferPartyTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Organization | organization | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferStatus.md b/docs/BalanceTransferStatus.md new file mode 100644 index 0000000..0681524 --- /dev/null +++ b/docs/BalanceTransferStatus.md @@ -0,0 +1,14 @@ +# BalanceTransferStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Created | created | +| Failed | failed | +| Succeeded | succeeded | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferStatusReason.md b/docs/BalanceTransferStatusReason.md new file mode 100644 index 0000000..029d0b6 --- /dev/null +++ b/docs/BalanceTransferStatusReason.md @@ -0,0 +1,20 @@ +# BalanceTransferStatusReason + +## Enum Variants + +| Name | Value | +|---- | -----| +| RequestCreated | request_created | +| Success | success | +| SourceNotAllowed | source_not_allowed | +| DestinationNotAllowed | destination_not_allowed | +| InsufficientFunds | insufficient_funds | +| InvalidSourceBalance | invalid_source_balance | +| InvalidDestinationBalance | invalid_destination_balance | +| TransferRequestExpired | transfer_request_expired | +| TransferLimitReached | transfer_limit_reached | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransferStatusReasonResponse.md b/docs/BalanceTransferStatusReasonResponse.md new file mode 100644 index 0000000..20dcaf2 --- /dev/null +++ b/docs/BalanceTransferStatusReasonResponse.md @@ -0,0 +1,20 @@ +# BalanceTransferStatusReasonResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| RequestCreated | request_created | +| Success | success | +| SourceNotAllowed | source_not_allowed | +| DestinationNotAllowed | destination_not_allowed | +| InsufficientFunds | insufficient_funds | +| InvalidSourceBalance | invalid_source_balance | +| InvalidDestinationBalance | invalid_destination_balance | +| TransferRequestExpired | transfer_request_expired | +| TransferLimitReached | transfer_limit_reached | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BalanceTransfersApiApi.md b/docs/BalanceTransfersApiApi.md new file mode 100644 index 0000000..898b2e9 --- /dev/null +++ b/docs/BalanceTransfersApiApi.md @@ -0,0 +1,108 @@ +# \BalanceTransfersApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_connect_balance_transfer**](BalanceTransfersApiApi.md#create_connect_balance_transfer) | **POST** /connect/balance-transfers | Create a Connect balance transfer +[**get_connect_balance_transfer**](BalanceTransfersApiApi.md#get_connect_balance_transfer) | **GET** /connect/balance-transfers/{id} | Get a Connect balance transfer +[**list_connect_balance_transfers**](BalanceTransfersApiApi.md#list_connect_balance_transfers) | **GET** /connect/balance-transfers | List all Connect balance transfers + + + +## create_connect_balance_transfer + +> models::EntityBalanceTransferResponse create_connect_balance_transfer(idempotency_key, entity_balance_transfer) +Create a Connect balance transfer + +This API endpoint allows you to create a balance transfer from your organization's balance to a connected organization's balance, or vice versa. You can also create a balance transfer between two connected organizations. To create a balance transfer, you must be authenticated as the source organization, and the destination organization must be a connected organization that has authorized the `balance-transfers.write` scope for your organization. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_balance_transfer** | Option<[**EntityBalanceTransfer**](EntityBalanceTransfer.md)> | | | + +### Return type + +[**models::EntityBalanceTransferResponse**](entity-balance-transfer-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_connect_balance_transfer + +> models::EntityBalanceTransferResponse get_connect_balance_transfer(id, testmode, idempotency_key) +Get a Connect balance transfer + +Retrieve a single Connect balance transfer object by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityBalanceTransferResponse**](entity-balance-transfer-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_connect_balance_transfers + +> models::ListConnectBalanceTransfers200Response list_connect_balance_transfers(from, limit, sort, testmode, idempotency_key) +List all Connect balance transfers + +Returns a paginated list of balance transfers associated with your organization. These may be a balance transfer that was received or sent from your balance, or a balance transfer that you initiated on behalf of your clients. If no balance transfers are available, the resulting array will be empty. This request should never throw an error. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListConnectBalanceTransfers200Response**](list_connect_balance_transfers_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/BalancesApiApi.md b/docs/BalancesApiApi.md new file mode 100644 index 0000000..9501f4b --- /dev/null +++ b/docs/BalancesApiApi.md @@ -0,0 +1,178 @@ +# \BalancesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_balance**](BalancesApiApi.md#get_balance) | **GET** /balances/{id} | Get balance +[**get_balance_report**](BalancesApiApi.md#get_balance_report) | **GET** /balances/{balanceId}/report | Get balance report +[**get_primary_balance**](BalancesApiApi.md#get_primary_balance) | **GET** /balances/primary | Get primary balance +[**list_balance_transactions**](BalancesApiApi.md#list_balance_transactions) | **GET** /balances/{balanceId}/transactions | List balance transactions +[**list_balances**](BalancesApiApi.md#list_balances) | **GET** /balances | List balances + + + +## get_balance + +> models::EntityBalance get_balance(id, testmode, idempotency_key) +Get balance + +When processing payments with Mollie, we put all pending funds — usually minus Mollie fees — on a balance. Once you have linked a bank account to your Mollie account, we can pay out your balance towards this bank account. With the Balances API you can retrieve your current balance. The response includes two amounts: * The *pending amount*. These are payments that have been marked as `paid`, but are not yet available on your balance. * The *available amount*. This is the amount that you can get paid out to your bank account, or use for refunds. With instant payment methods like iDEAL, payments are moved to the available balance instantly. With slower payment methods, like credit card for example, it can take a few days before the funds are available on your balance. These funds will be shown under the *pending amount* in the meanwhile. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityBalance**](entity-balance.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_balance_report + +> models::EntityBalanceReport get_balance_report(from, until, balance_id, grouping, testmode, idempotency_key) +Get balance report + +Retrieve a summarized report for all transactions on a given balance within a given timeframe. The API also provides a detailed report on all 'prepayments' for Mollie fees that were deducted from your balance during the reported period, ahead of your Mollie invoice. The alias `primary` can be used instead of the balance ID to refer to the organization's primary balance. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | **String** | The start date of the report, in `YYYY-MM-DD` format. The from date is 'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will include transactions from 2024-01-01 0:00:00 CET and onwards. | [required] | +**until** | **String** | The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time. This means a report with for example `until=2024-02-01` will include transactions up until 2024-01-31 23:59:59 CET. | [required] | +**balance_id** | **String** | Provide the ID of the related balance. | [required] | +**grouping** | Option<**String**> | You can retrieve reports in two different formats. With the `status-balances` format, transactions are grouped by status (e.g. `pending`, `available`), then by transaction type, and then by other sub-groupings where available (e.g. payment method). With the `transaction-categories` format, transactions are grouped by transaction type, then by status, and then again by other sub-groupings where available. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityBalanceReport**](entity-balance-report.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_primary_balance + +> models::EntityBalance get_primary_balance(idempotency_key) +Get primary balance + +Retrieve the primary balance. This is the balance of your account's primary currency, where all payments are settled to by default. This endpoint is a convenient alias of the [Get balance](get-balance) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityBalance**](entity-balance.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_balance_transactions + +> models::ListBalanceTransactions200Response list_balance_transactions(balance_id, from, limit, testmode, idempotency_key) +List balance transactions + +Retrieve a list of all balance transactions. Transactions include for example payments, refunds, chargebacks, and settlements. For an aggregated report of these balance transactions, refer to the [Get balance report](get-balance-report) endpoint. The alias `primary` can be used instead of the balance ID to refer to the organization's primary balance. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**balance_id** | **String** | Provide the ID of the related balance. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListBalanceTransactions200Response**](list_balance_transactions_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_balances + +> models::ListBalances200Response list_balances(currency, from, limit, testmode, idempotency_key) +List balances + +Retrieve a list of the organization's balances, including the primary balance. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**currency** | Option<**String**> | Optionally only return balances with the given currency. For example: `EUR`. | | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListBalances200Response**](list_balances_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/BillingAddress.md b/docs/BillingAddress.md new file mode 100644 index 0000000..c025b85 --- /dev/null +++ b/docs/BillingAddress.md @@ -0,0 +1,22 @@ +# BillingAddress + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | Option<**String**> | The title of the person, for example *Mr.* or *Mrs.*. | [optional] +**given_name** | Option<**String**> | The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**family_name** | Option<**String**> | The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**organization_name** | Option<[**serde_json::Value**](.md)> | | [optional] +**street_and_number** | Option<**String**> | A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**street_additional** | Option<**String**> | Any additional addressing details, for example an apartment number. | [optional] +**postal_code** | Option<**String**> | A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**email** | Option<**String**> | A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**phone** | Option<**String**> | If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. | [optional] +**city** | Option<**String**> | A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**region** | Option<**String**> | The top-level administrative subdivision of the country. For example: Noord-Holland. | [optional] +**country** | Option<**String**> | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CancelPaymentRequest.md b/docs/CancelPaymentRequest.md new file mode 100644 index 0000000..6c39ad4 --- /dev/null +++ b/docs/CancelPaymentRequest.md @@ -0,0 +1,11 @@ +# CancelPaymentRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CapabilitiesApiApi.md b/docs/CapabilitiesApiApi.md new file mode 100644 index 0000000..75994d7 --- /dev/null +++ b/docs/CapabilitiesApiApi.md @@ -0,0 +1,39 @@ +# \CapabilitiesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_capabilities**](CapabilitiesApiApi.md#list_capabilities) | **GET** /capabilities | List capabilities + + + +## list_capabilities + +> models::ListCapabilities200Response list_capabilities(idempotency_key) +List capabilities + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a list of capabilities for an organization. This API provides detailed insights into the specific requirements and status of each client's onboarding journey. Capabilities are at the organization level, indicating if the organization can perform a given capability. For payments, regardless them being at the profile level, the capability is listed at the organization level. This means that if at least one of the clients's profiles can receive payments, the payments capability is enabled, communicating that the organization can indeed receive payments. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListCapabilities200Response**](list_capabilities_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/CapabilityRequirementStatus.md b/docs/CapabilityRequirementStatus.md new file mode 100644 index 0000000..24204ae --- /dev/null +++ b/docs/CapabilityRequirementStatus.md @@ -0,0 +1,14 @@ +# CapabilityRequirementStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| CurrentlyDue | currently-due | +| PastDue | past-due | +| Requested | requested | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CapabilityStatus.md b/docs/CapabilityStatus.md new file mode 100644 index 0000000..59c33a3 --- /dev/null +++ b/docs/CapabilityStatus.md @@ -0,0 +1,15 @@ +# CapabilityStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Unrequested | unrequested | +| Enabled | enabled | +| Disabled | disabled | +| Pending | pending | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CapabilityStatusReason.md b/docs/CapabilityStatusReason.md new file mode 100644 index 0000000..0b11974 --- /dev/null +++ b/docs/CapabilityStatusReason.md @@ -0,0 +1,13 @@ +# CapabilityStatusReason + +## Enum Variants + +| Name | Value | +|---- | -----| +| RequirementPastDue | requirement-past-due | +| OnboardingInformationNeeded | onboarding-information-needed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptureMode.md b/docs/CaptureMode.md new file mode 100644 index 0000000..894b7d4 --- /dev/null +++ b/docs/CaptureMode.md @@ -0,0 +1,13 @@ +# CaptureMode + +## Enum Variants + +| Name | Value | +|---- | -----| +| Automatic | automatic | +| Manual | manual | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptureModeResponse.md b/docs/CaptureModeResponse.md new file mode 100644 index 0000000..6acc476 --- /dev/null +++ b/docs/CaptureModeResponse.md @@ -0,0 +1,13 @@ +# CaptureModeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Automatic | automatic | +| Manual | manual | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptureResponse.md b/docs/CaptureResponse.md new file mode 100644 index 0000000..a22d917 --- /dev/null +++ b/docs/CaptureResponse.md @@ -0,0 +1,23 @@ +# CaptureResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the capture. | [optional] +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount captured. If no amount is provided, the full authorized amount is captured. | [optional] +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**status** | Option<[**models::CaptureStatus**](capture-status.md)> | | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**payment_id** | Option<**String**> | | [optional] +**shipment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityCaptureLinks**](entity_capture__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CaptureStatus.md b/docs/CaptureStatus.md new file mode 100644 index 0000000..444e20d --- /dev/null +++ b/docs/CaptureStatus.md @@ -0,0 +1,14 @@ +# CaptureStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pending | pending | +| Succeeded | succeeded | +| Failed | failed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CapturesApiApi.md b/docs/CapturesApiApi.md new file mode 100644 index 0000000..d7b216e --- /dev/null +++ b/docs/CapturesApiApi.md @@ -0,0 +1,112 @@ +# \CapturesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_capture**](CapturesApiApi.md#create_capture) | **POST** /payments/{paymentId}/captures | Create capture +[**get_capture**](CapturesApiApi.md#get_capture) | **GET** /payments/{paymentId}/captures/{captureId} | Get capture +[**list_captures**](CapturesApiApi.md#list_captures) | **GET** /payments/{paymentId}/captures | List captures + + + +## create_capture + +> models::CaptureResponse create_capture(payment_id, idempotency_key, entity_capture) +Create capture + +Capture an *authorized* payment. Some payment methods allow you to first collect a customer's authorization, and capture the amount at a later point. By default, Mollie captures payments automatically. If however you configured your payment with `captureMode: manual`, you can capture the payment using this endpoint after having collected the customer's authorization. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_capture** | Option<[**EntityCapture**](EntityCapture.md)> | | | + +### Return type + +[**models::CaptureResponse**](capture-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_capture + +> models::CaptureResponse get_capture(payment_id, capture_id, embed, testmode, idempotency_key) +Get capture + +Retrieve a single payment capture by its ID and the ID of its parent payment. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**capture_id** | **String** | Provide the ID of the related capture. | [required] | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::CaptureResponse**](capture-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_captures + +> models::ListSettlementCaptures200Response list_captures(payment_id, from, limit, embed, testmode, idempotency_key) +List captures + +Retrieve a list of all captures created for a specific payment. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementCaptures200Response**](list_settlement_captures_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ChargebacksApiApi.md b/docs/ChargebacksApiApi.md new file mode 100644 index 0000000..f31ed74 --- /dev/null +++ b/docs/ChargebacksApiApi.md @@ -0,0 +1,116 @@ +# \ChargebacksApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_chargeback**](ChargebacksApiApi.md#get_chargeback) | **GET** /payments/{paymentId}/chargebacks/{chargebackId} | Get payment chargeback +[**list_all_chargebacks**](ChargebacksApiApi.md#list_all_chargebacks) | **GET** /chargebacks | List all chargebacks +[**list_chargebacks**](ChargebacksApiApi.md#list_chargebacks) | **GET** /payments/{paymentId}/chargebacks | List payment chargebacks + + + +## get_chargeback + +> models::EntityChargeback get_chargeback(payment_id, chargeback_id, embed, testmode, idempotency_key) +Get payment chargeback + +Retrieve a single payment chargeback by its ID and the ID of its parent payment. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**chargeback_id** | **String** | Provide the ID of the related chargeback. | [required] | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityChargeback**](entity-chargeback.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_all_chargebacks + +> models::ListSettlementChargebacks200Response list_all_chargebacks(from, limit, embed, sort, profile_id, testmode, idempotency_key) +List all chargebacks + +Retrieve all chargebacks initiated for all your payments. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve chargebacks for. Most API credentials are linked to a single profile. In these cases the `profileId` is already implied. To retrieve all chargebacks across the organization, use an organization-level API credential and omit the `profileId` parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementChargebacks200Response**](list_settlement_chargebacks_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_chargebacks + +> models::ListSettlementChargebacks200Response list_chargebacks(payment_id, from, limit, embed, testmode, idempotency_key) +List payment chargebacks + +Retrieve the chargebacks initiated for a specific payment. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementChargebacks200Response**](list_settlement_chargebacks_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ClientLinksApiApi.md b/docs/ClientLinksApiApi.md new file mode 100644 index 0000000..e1163be --- /dev/null +++ b/docs/ClientLinksApiApi.md @@ -0,0 +1,40 @@ +# \ClientLinksApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_client_link**](ClientLinksApiApi.md#create_client_link) | **POST** /client-links | Create client link + + + +## create_client_link + +> models::EntityClientLinkResponse create_client_link(idempotency_key, entity_client_link) +Create client link + +Link a new or existing organization to your OAuth application, in effect creating a new client. The response contains a `clientLink` where you should redirect your customer to. ## Redirecting the Customer The `clientLink` URL behaves similarly to a standard OAuth authorization URL. Therefore, after receiving the `clientLink` URL in the API response, you need to **append the following query parameters** *before* redirecting the customer: * `client_id` _string (required)_ The client ID you received when you registered your OAuth app. The ID starts with `app_`. For example: `app_abc123qwerty`. * `state` _string (required)_ A random string **generated by your app** to prevent CSRF attacks. This will be reflected in the `state` query parameter when the user returns to the `redirect_uri` after authorizing your app. * `scope` _string (required)_ A space-separated list of permissions ('scopes') your app requires. See the [permissions list](https://docs.mollie.com/docs/connect-permissions) for more information about the available scopes. We recommend at least : `onboarding.read onboarding.write` * `approval_prompt` _string_ Can be set to `force` to force showing the consent screen to the merchant, *even when it is not necessary*. If you force an approval prompt and the user creates a new authorization, previously active authorizations will be revoked. Possible values: `auto` `force` (default: `auto`) ### Example of a Complete Redirect URL After adding the above url parameter your URL will look something like this and you can redirect your client to this page: ``` https://my.mollie.com/dashboard/client-link/{id}?client_id={your_client_id}&state={unique_state}&scope=onboarding.read%20onboarding.write ``` ## Error Handling Error handling is also dealt with similar to the [Authorize](https://docs.mollie.com/reference/authorize) endpoint: the customer is redirected back to your app's redirect URL with the `error` and `error_description` parameters added to the URL. > 🚧 > > A client link must be used within 30 days of creation. After that period, it will expire and you will need to create a new client link. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_client_link** | Option<[**EntityClientLink**](EntityClientLink.md)> | | | + +### Return type + +[**models::EntityClientLinkResponse**](entity-client-link-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ClientsApiApi.md b/docs/ClientsApiApi.md new file mode 100644 index 0000000..3844abf --- /dev/null +++ b/docs/ClientsApiApi.md @@ -0,0 +1,75 @@ +# \ClientsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_client**](ClientsApiApi.md#get_client) | **GET** /clients/{id} | Get client +[**list_clients**](ClientsApiApi.md#list_clients) | **GET** /clients | List clients + + + +## get_client + +> models::ListClients200ResponseEmbeddedClientsInner get_client(id, embed, idempotency_key) +Get client + +Retrieve a single client by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListClients200ResponseEmbeddedClientsInner**](list_clients_200_response__embedded_clients_inner.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_clients + +> models::ListClients200Response list_clients(embed, from, limit, idempotency_key) +List clients + +Retrieve a list of all clients linked to your account. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListClients200Response**](list_clients_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ComponentsSubTotals.md b/docs/ComponentsSubTotals.md new file mode 100644 index 0000000..3536e0f --- /dev/null +++ b/docs/ComponentsSubTotals.md @@ -0,0 +1,19 @@ +# ComponentsSubTotals + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sub_totals** | Option<[**Vec**](sub-totals.md)> | | [optional] +**count** | Option<**i32**> | Number of transactions of this type | [optional] +**method** | Option<[**models::PaymentMethod**](payment-method.md)> | Payment type of the transactions | [optional] +**card_issuer** | Option<**String**> | In case of payments transactions with card, the card issuer will be available | [optional] +**card_audience** | Option<**String**> | In case of payments trnsactions with card, the card audience will be available. | [optional] +**card_region** | Option<**String**> | In case of payments transactions with card, the card region will be available. | [optional] +**fee_type** | Option<**String**> | Present when the transaction represents a fee. | [optional] +**prepayment_part_type** | Option<**String**> | Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. | [optional] +**transaction_type** | Option<**String**> | Represents the transaction type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreatePaymentLinkRequest.md b/docs/CreatePaymentLinkRequest.md new file mode 100644 index 0000000..ef63eaf --- /dev/null +++ b/docs/CreatePaymentLinkRequest.md @@ -0,0 +1,33 @@ +# CreatePaymentLinkRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | **String** | A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. | +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. | [optional] +**minimum_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. | [optional] +**archived** | Option<**bool**> | Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](payment-line-item.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**reusable** | Option<**bool**> | Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment link became paid, in ISO 8601 format. | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. | [optional] +**allowed_methods** | Option<**Vec**> | An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. | [optional] +**application_fee** | Option<[**models::CreatePaymentLinkRequestApplicationFee**](create_payment_link_request_applicationFee.md)> | | [optional] +**sequence_type** | Option<[**models::PaymentLinkSequenceType**](payment-link-sequence-type.md)> | If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). | [optional] +**customer_id** | Option<**String**> | **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::CreatePaymentLinkRequestLinks**](create_payment_link_request__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreatePaymentLinkRequestApplicationFee.md b/docs/CreatePaymentLinkRequestApplicationFee.md new file mode 100644 index 0000000..8523ccd --- /dev/null +++ b/docs/CreatePaymentLinkRequestApplicationFee.md @@ -0,0 +1,12 @@ +# CreatePaymentLinkRequestApplicationFee + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | [**models::Amount**](amount.md) | The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment. | +**description** | **String** | The description of the application fee. This will appear on settlement reports towards both you and the connected merchant. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreatePaymentLinkRequestLinks.md b/docs/CreatePaymentLinkRequestLinks.md new file mode 100644 index 0000000..177e43e --- /dev/null +++ b/docs/CreatePaymentLinkRequestLinks.md @@ -0,0 +1,12 @@ +# CreatePaymentLinkRequestLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**payment_link** | [**models::Url**](url.md) | The URL your customer should visit to make the payment. This is where you should redirect the customer to. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreateWebhook.md b/docs/CreateWebhook.md new file mode 100644 index 0000000..3b377c6 --- /dev/null +++ b/docs/CreateWebhook.md @@ -0,0 +1,21 @@ +# CreateWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a webhook subscription object. Will always contain the string `webhook` for this endpoint. | [readonly] +**id** | **String** | The identifier uniquely referring to this subscription. | [readonly] +**url** | **String** | The subscription's events destination. | +**profile_id** | Option<**String**> | The identifier uniquely referring to the profile that created the subscription. | [readonly] +**created_at** | **String** | The subscription's date time of creation. | [readonly] +**name** | **String** | The subscription's name. | +**event_types** | [**Vec**](webhook-event-types-response.md) | The events types that are subscribed. | +**status** | [**models::WebhookStatus**](webhook-status.md) | | +**mode** | [**models::Mode**](mode.md) | | +**webhook_secret** | **String** | The subscription's secret. | +**_links** | [**models::EntityWebhookLinks**](entity_webhook__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreateWebhookRequest.md b/docs/CreateWebhookRequest.md new file mode 100644 index 0000000..11569b3 --- /dev/null +++ b/docs/CreateWebhookRequest.md @@ -0,0 +1,14 @@ +# CreateWebhookRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | A name that identifies the webhook. | +**url** | **String** | The URL Mollie will send the events to. This URL must be publicly accessible. | +**event_types** | [**models::WebhookEventTypes**](webhook-event-types.md) | The list of events to enable for this webhook. You may specify `'*'` to add all events, except those that require explicit selection. Separate multiple event types with a comma. | +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Currencies.md b/docs/Currencies.md new file mode 100644 index 0000000..4885782 --- /dev/null +++ b/docs/Currencies.md @@ -0,0 +1,23 @@ +# Currencies + +## Enum Variants + +| Name | Value | +|---- | -----| +| Eur | EUR | +| Gbp | GBP | +| Chf | CHF | +| Dkk | DKK | +| Nok | NOK | +| Pln | PLN | +| Sek | SEK | +| Usd | USD | +| Czk | CZK | +| Huf | HUF | +| Aud | AUD | +| Cad | CAD | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CustomerResponse.md b/docs/CustomerResponse.md new file mode 100644 index 0000000..5193adb --- /dev/null +++ b/docs/CustomerResponse.md @@ -0,0 +1,20 @@ +# CustomerResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The full name of the customer. | [optional] +**email** | Option<**String**> | The email address of the customer. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityCustomerLinks**](entity_customer__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CustomersApiApi.md b/docs/CustomersApiApi.md new file mode 100644 index 0000000..7eea7a2 --- /dev/null +++ b/docs/CustomersApiApi.md @@ -0,0 +1,245 @@ +# \CustomersApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_customer**](CustomersApiApi.md#create_customer) | **POST** /customers | Create customer +[**create_customer_payment**](CustomersApiApi.md#create_customer_payment) | **POST** /customers/{customerId}/payments | Create customer payment +[**delete_customer**](CustomersApiApi.md#delete_customer) | **DELETE** /customers/{customerId} | Delete customer +[**get_customer**](CustomersApiApi.md#get_customer) | **GET** /customers/{customerId} | Get customer +[**list_customer_payments**](CustomersApiApi.md#list_customer_payments) | **GET** /customers/{customerId}/payments | List customer payments +[**list_customers**](CustomersApiApi.md#list_customers) | **GET** /customers | List customers +[**update_customer**](CustomersApiApi.md#update_customer) | **PATCH** /customers/{customerId} | Update customer + + + +## create_customer + +> models::CustomerResponse create_customer(idempotency_key, entity_customer) +Create customer + +Creates a simple minimal representation of a customer. Payments, recurring mandates, and subscriptions can be linked to this customer object, which simplifies management of recurring payments. Once registered, customers will also appear in your Mollie dashboard. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_customer** | Option<[**EntityCustomer**](EntityCustomer.md)> | | | + +### Return type + +[**models::CustomerResponse**](customer-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## create_customer_payment + +> models::PaymentResponse create_customer_payment(customer_id, idempotency_key, payment_request) +Create customer payment + +Creates a payment for the customer. Linking customers to payments enables you to: * Keep track of payment preferences for your customers * Allow your customers to charge a previously used credit card with a single click in our hosted checkout * Improve payment insights in the Mollie dashboard * Use recurring payments This endpoint is effectively an alias of the [Create payment endpoint](create-payment) with the `customerId` parameter predefined. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**payment_request** | Option<[**PaymentRequest**](PaymentRequest.md)> | | | + +### Return type + +[**models::PaymentResponse**](payment-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_customer + +> serde_json::Value delete_customer(customer_id, idempotency_key, delete_webhook_request) +Delete customer + +Delete a customer. All mandates and subscriptions created for this customer will be canceled as well. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_customer + +> models::GetCustomer200Response get_customer(customer_id, include, testmode, idempotency_key) +Get customer + +Retrieve a single customer by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::GetCustomer200Response**](get_customer_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_customer_payments + +> models::ListSettlementPayments200Response list_customer_payments(customer_id, from, limit, sort, profile_id, testmode, idempotency_key) +List customer payments + +Retrieve all payments linked to the customer. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementPayments200Response**](list_settlement_payments_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_customers + +> models::ListCustomers200Response list_customers(from, limit, sort, testmode, idempotency_key) +List customers + +Retrieve a list of all customers. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListCustomers200Response**](list_customers_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_customer + +> models::CustomerResponse update_customer(customer_id, idempotency_key, entity_customer) +Update customer + +Update an existing customer. For an in-depth explanation of each parameter, refer to the [Create customer](create-customer) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_customer** | Option<[**EntityCustomer**](EntityCustomer.md)> | | | + +### Return type + +[**models::CustomerResponse**](customer-response.md) + +### Authorization + +[apiKey](../README.md#apiKey) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/DelayedRoutingApiApi.md b/docs/DelayedRoutingApiApi.md new file mode 100644 index 0000000..26cb1ba --- /dev/null +++ b/docs/DelayedRoutingApiApi.md @@ -0,0 +1,74 @@ +# \DelayedRoutingApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**payment_create_route**](DelayedRoutingApiApi.md#payment_create_route) | **POST** /payments/{paymentId}/routes | Create a delayed route +[**payment_list_routes**](DelayedRoutingApiApi.md#payment_list_routes) | **GET** /payments/{paymentId}/routes | List payment routes + + + +## payment_create_route + +> models::RouteCreateResponse payment_create_route(payment_id, idempotency_key, route_create_request) +Create a delayed route + +Create a route for a specific payment. The routed amount is credited to the account of your customer. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**route_create_request** | Option<[**RouteCreateRequest**](RouteCreateRequest.md)> | | | + +### Return type + +[**models::RouteCreateResponse**](route-create-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## payment_list_routes + +> models::PaymentListRoutes200Response payment_list_routes(payment_id, testmode, idempotency_key) +List payment routes + +Retrieve a list of all routes created for a specific payment. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::PaymentListRoutes200Response**](payment_list_routes_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/DeleteValuesSalesInvoice.md b/docs/DeleteValuesSalesInvoice.md new file mode 100644 index 0000000..f9a93d3 --- /dev/null +++ b/docs/DeleteValuesSalesInvoice.md @@ -0,0 +1,11 @@ +# DeleteValuesSalesInvoice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeleteWebhookRequest.md b/docs/DeleteWebhookRequest.md new file mode 100644 index 0000000..0eb1ac7 --- /dev/null +++ b/docs/DeleteWebhookRequest.md @@ -0,0 +1,11 @@ +# DeleteWebhookRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EnableMethodIssuer200Response.md b/docs/EnableMethodIssuer200Response.md new file mode 100644 index 0000000..03a1ce6 --- /dev/null +++ b/docs/EnableMethodIssuer200Response.md @@ -0,0 +1,12 @@ +# EnableMethodIssuer200Response + +## Enum Variants + +| Name | Description | +|---- | -----| +| Giftcard | | +| Voucher | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EnableMethodIssuerRequest.md b/docs/EnableMethodIssuerRequest.md new file mode 100644 index 0000000..5bdabb6 --- /dev/null +++ b/docs/EnableMethodIssuerRequest.md @@ -0,0 +1,11 @@ +# EnableMethodIssuerRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**contract_id** | Option<**String**> | When enabling a voucher issuer, an inbetween party may be involved which you have a contract with. Provide the contract ID for the first time you enable an issuer via this contractor. You can update the contract ID as long as it is not approved yet, by repeating the API call with a different contract ID. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalance.md b/docs/EntityBalance.md new file mode 100644 index 0000000..d811f29 --- /dev/null +++ b/docs/EntityBalance.md @@ -0,0 +1,24 @@ +# EntityBalance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a balance object. Will always contain the string `balance` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**currency** | Option<[**models::Currencies**](currencies.md)> | The balance's ISO 4217 currency code. | [optional][readonly] +**description** | Option<**String**> | The description or name of the balance. Can be used to denote the purpose of the balance. | [optional][readonly] +**status** | Option<[**models::BalanceStatus**](balance-status.md)> | | [optional][readonly] +**transfer_frequency** | Option<[**models::BalanceTransferFrequency**](balance-transfer-frequency.md)> | | [optional][readonly] +**transfer_threshold** | Option<[**models::Amount**](amount.md)> | The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds this threshold, the complete balance will be paid out to the transfer destination according to the configured frequency. | [optional][readonly] +**transfer_reference** | Option<**String**> | The transfer reference set to be included in all the transfers for this balance. | [optional][readonly] +**transfer_destination** | Option<[**models::EntityBalanceTransferDestination**](entity_balance_transferDestination.md)> | | [optional] +**available_amount** | Option<[**models::Amount**](amount.md)> | The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`. | [optional][readonly] +**pending_amount** | Option<[**models::Amount**](amount.md)> | The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a few days to clear. | [optional][readonly] +**_links** | Option<[**models::EntityBalanceLinks**](entity_balance__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceLinks.md b/docs/EntityBalanceLinks.md new file mode 100644 index 0000000..fee4b12 --- /dev/null +++ b/docs/EntityBalanceLinks.md @@ -0,0 +1,12 @@ +# EntityBalanceLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReport.md b/docs/EntityBalanceReport.md new file mode 100644 index 0000000..92850cd --- /dev/null +++ b/docs/EntityBalanceReport.md @@ -0,0 +1,18 @@ +# EntityBalanceReport + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a balance report object. Will always contain the string `balance-report` for this endpoint. | [optional][readonly] +**balance_id** | Option<**String**> | | [optional] +**time_zone** | Option<**String**> | The time zone used for the from and until parameters. Currently only time zone `Europe/Amsterdam` is supported. | [optional] +**from** | Option<**String**> | The start date of the report, in `YYYY-MM-DD` format. The from date is 'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will include movements of 2024-01-01 00:00:00 CET and onwards. | [optional] +**until** | Option<**String**> | The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time. This means a report with for example `until=2024-02-01` will include movements up until 2024-01-31 23:59:59 CET. | [optional] +**grouping** | Option<[**models::BalanceReportGrouping**](balance-report-grouping.md)> | | [optional] +**totals** | Option<[**models::EntityBalanceReportTotals**](entity_balance_report_totals.md)> | | [optional] +**_links** | Option<[**models::EntityBalanceLinks**](entity_balance__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReportTotals.md b/docs/EntityBalanceReportTotals.md new file mode 100644 index 0000000..0e20f21 --- /dev/null +++ b/docs/EntityBalanceReportTotals.md @@ -0,0 +1,22 @@ +# EntityBalanceReportTotals + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pending_balance** | Option<[**models::EntityBalanceReportTotalsPendingBalance**](entity_balance_report_totals_pendingBalance.md)> | | [optional] +**available_balance** | Option<[**models::EntityBalanceReportTotalsAvailableBalance**](entity_balance_report_totals_availableBalance.md)> | | [optional] +**open** | Option<[**models::EntityBalanceReportTotalsOpen**](entity_balance_report_totals_open.md)> | | [optional] +**close** | Option<[**models::EntityBalanceReportTotalsOpen**](entity_balance_report_totals_open.md)> | | [optional] +**payments** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**refunds** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**chargebacks** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**capital** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**transfers** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**fee_prepayments** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**corrections** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] +**topups** | Option<[**models::EntityBalanceReportTotalsPayments**](entity_balance_report_totals_payments.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReportTotalsAvailableBalance.md b/docs/EntityBalanceReportTotalsAvailableBalance.md new file mode 100644 index 0000000..a4ecda3 --- /dev/null +++ b/docs/EntityBalanceReportTotalsAvailableBalance.md @@ -0,0 +1,14 @@ +# EntityBalanceReportTotalsAvailableBalance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**open** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**moved_from_pending** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**immediately_available** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**close** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReportTotalsOpen.md b/docs/EntityBalanceReportTotalsOpen.md new file mode 100644 index 0000000..0788a3f --- /dev/null +++ b/docs/EntityBalanceReportTotalsOpen.md @@ -0,0 +1,12 @@ +# EntityBalanceReportTotalsOpen + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pending** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**available** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReportTotalsPayments.md b/docs/EntityBalanceReportTotalsPayments.md new file mode 100644 index 0000000..bcd9308 --- /dev/null +++ b/docs/EntityBalanceReportTotalsPayments.md @@ -0,0 +1,13 @@ +# EntityBalanceReportTotalsPayments + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pending** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**moved_to_available** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**immediately_available** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceReportTotalsPendingBalance.md b/docs/EntityBalanceReportTotalsPendingBalance.md new file mode 100644 index 0000000..a00d451 --- /dev/null +++ b/docs/EntityBalanceReportTotalsPendingBalance.md @@ -0,0 +1,14 @@ +# EntityBalanceReportTotalsPendingBalance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**open** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**close** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**pending** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] +**moved_to_available** | Option<[**models::SubGroup**](sub-group.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransaction.md b/docs/EntityBalanceTransaction.md new file mode 100644 index 0000000..01b69b0 --- /dev/null +++ b/docs/EntityBalanceTransaction.md @@ -0,0 +1,18 @@ +# EntityBalanceTransaction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a balance transaction object. Will always contain the string `balance-transaction` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**r#type** | Option<[**models::BalanceTransactionType**](balance-transaction-type.md)> | The type of transaction, for example `payment` or `refund`. Values include the below examples, although this list is not definitive. * Regular payment processing: `payment` `capture` `unauthorized-direct-debit` `failed-payment` * Refunds and chargebacks: `refund` `returned-refund` `chargeback` `chargeback-reversal` * Settlements: `outgoing-transfer` `canceled-outgoing-transfer` `returned-transfer` * Invoicing: `invoice-compensation` `balance-correction` * Mollie Connect: `application-fee` `split-payment` `platform-payment-refund` `platform-payment-chargeback` | [optional] +**result_amount** | Option<[**models::Amount**](amount.md)> | The final amount that was moved to or from the balance. If the transaction moves funds away from the balance, for example when it concerns a refund, the amount will be negative. | [optional] +**initial_amount** | Option<[**models::Amount**](amount.md)> | The amount that was to be moved to or from the balance, excluding deductions. If the transaction moves funds away from the balance, for example when it concerns a refund, the amount will be negative. | [optional] +**deductions** | Option<[**models::AmountNullable**](amount-nullable.md)> | The total amount of deductions withheld from the movement. For example, if we charge a €0.29 fee on a €10 payment, the deductions amount will be `{\"currency\":\"EUR\", \"value\":\"-0.29\"}`. When moving funds to a balance, we always round the deduction to a 'real' amount. Any differences between these real-time rounded amounts and the final invoice will be compensated when the invoice is generated. | [optional] +**context** | Option<[**models::EntityBalanceTransactionContext**](entity_balance_transaction_context.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContext.md b/docs/EntityBalanceTransactionContext.md new file mode 100644 index 0000000..3c9a891 --- /dev/null +++ b/docs/EntityBalanceTransactionContext.md @@ -0,0 +1,41 @@ +# EntityBalanceTransactionContext + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**capture** | Option<[**models::EntityBalanceTransactionContextCapture**](entity_balance_transaction_context_capture.md)> | | [optional] +**capture_commision** | Option<[**models::EntityBalanceTransactionContextCapture**](entity_balance_transaction_context_capture.md)> | | [optional] +**capture_rolling_reserve_release** | Option<[**models::EntityBalanceTransactionContextCapture**](entity_balance_transaction_context_capture.md)> | | [optional] +**unauthorized_direct_debit** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**failed_payment** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**refund** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**refund_compensation** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**returned_refund** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**returned_refund_compensation** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**chargeback** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**chargeback_reversal** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**chargeback_compensation** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**reversed_chargeback_compensation** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**outgoing_transfer** | Option<[**models::EntityBalanceTransactionContextOutgoingTransfer**](entity_balance_transaction_context_outgoing_transfer.md)> | | [optional] +**canceled_outgoing_transfer** | Option<[**models::EntityBalanceTransactionContextOutgoingTransfer**](entity_balance_transaction_context_outgoing_transfer.md)> | | [optional] +**returned_transfer** | Option<[**models::EntityBalanceTransactionContextReturnedTransfer**](entity_balance_transaction_context_returned_transfer.md)> | | [optional] +**invoice_compensation** | Option<[**models::EntityBalanceTransactionContextInvoiceCompensation**](entity_balance_transaction_context_invoice_compensation.md)> | | [optional] +**application_fee** | Option<[**models::EntityBalanceTransactionContextApplicationFee**](entity_balance_transaction_context_application_fee.md)> | | [optional] +**split_payment** | Option<[**models::EntityBalanceTransactionContextSplitPayment**](entity_balance_transaction_context_split_payment.md)> | | [optional] +**platform_payment_refund** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**returned_platform_payment_refund** | Option<[**models::EntityBalanceTransactionContextRefund**](entity_balance_transaction_context_refund.md)> | | [optional] +**platform_payment_chargeback** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**reversed_platform_payment_chargeback** | Option<[**models::EntityBalanceTransactionContextChargeback**](entity_balance_transaction_context_chargeback.md)> | | [optional] +**payment_commission** | Option<[**models::EntityBalanceTransactionContextPaymentCommission**](entity_balance_transaction_context_payment_commission.md)> | | [optional] +**reimbursement_fee** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**failed_payment_fee** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**payment_fee** | Option<[**models::EntityBalanceTransactionContextPayment**](entity_balance_transaction_context_payment.md)> | | [optional] +**managed_fee** | Option<[**models::EntityBalanceTransactionContextManagedFee**](entity_balance_transaction_context_managed_fee.md)> | | [optional] +**returned_managed_fee** | Option<[**models::EntityBalanceTransactionContextManagedFee**](entity_balance_transaction_context_managed_fee.md)> | | [optional] +**post_payment_split_payment** | Option<[**models::EntityBalanceTransactionContextPostPaymentSplitPayment**](entity_balance_transaction_context_post_payment_split_payment.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextApplicationFee.md b/docs/EntityBalanceTransactionContextApplicationFee.md new file mode 100644 index 0000000..b92f34e --- /dev/null +++ b/docs/EntityBalanceTransactionContextApplicationFee.md @@ -0,0 +1,13 @@ +# EntityBalanceTransactionContextApplicationFee + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**paying_owner** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextCapture.md b/docs/EntityBalanceTransactionContextCapture.md new file mode 100644 index 0000000..3900b4d --- /dev/null +++ b/docs/EntityBalanceTransactionContextCapture.md @@ -0,0 +1,14 @@ +# EntityBalanceTransactionContextCapture + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**capture_id** | Option<**String**> | | [optional] +**capture_description** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextChargeback.md b/docs/EntityBalanceTransactionContextChargeback.md new file mode 100644 index 0000000..8b14c97 --- /dev/null +++ b/docs/EntityBalanceTransactionContextChargeback.md @@ -0,0 +1,14 @@ +# EntityBalanceTransactionContextChargeback + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**chargeback_id** | Option<**String**> | | [optional] +**chargeback_description** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextInvoiceCompensation.md b/docs/EntityBalanceTransactionContextInvoiceCompensation.md new file mode 100644 index 0000000..91b0eb1 --- /dev/null +++ b/docs/EntityBalanceTransactionContextInvoiceCompensation.md @@ -0,0 +1,11 @@ +# EntityBalanceTransactionContextInvoiceCompensation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invoice_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextManagedFee.md b/docs/EntityBalanceTransactionContextManagedFee.md new file mode 100644 index 0000000..6deccf0 --- /dev/null +++ b/docs/EntityBalanceTransactionContextManagedFee.md @@ -0,0 +1,12 @@ +# EntityBalanceTransactionContextManagedFee + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_type** | Option<**String**> | | [optional] +**fee_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextOutgoingTransfer.md b/docs/EntityBalanceTransactionContextOutgoingTransfer.md new file mode 100644 index 0000000..39e8b79 --- /dev/null +++ b/docs/EntityBalanceTransactionContextOutgoingTransfer.md @@ -0,0 +1,12 @@ +# EntityBalanceTransactionContextOutgoingTransfer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transfer_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextPayment.md b/docs/EntityBalanceTransactionContextPayment.md new file mode 100644 index 0000000..4bff7a1 --- /dev/null +++ b/docs/EntityBalanceTransactionContextPayment.md @@ -0,0 +1,12 @@ +# EntityBalanceTransactionContextPayment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextPaymentCommission.md b/docs/EntityBalanceTransactionContextPaymentCommission.md new file mode 100644 index 0000000..3dfc46f --- /dev/null +++ b/docs/EntityBalanceTransactionContextPaymentCommission.md @@ -0,0 +1,13 @@ +# EntityBalanceTransactionContextPaymentCommission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**organization_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextPostPaymentSplitPayment.md b/docs/EntityBalanceTransactionContextPostPaymentSplitPayment.md new file mode 100644 index 0000000..d071f6f --- /dev/null +++ b/docs/EntityBalanceTransactionContextPostPaymentSplitPayment.md @@ -0,0 +1,11 @@ +# EntityBalanceTransactionContextPostPaymentSplitPayment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextRefund.md b/docs/EntityBalanceTransactionContextRefund.md new file mode 100644 index 0000000..1c2dd59 --- /dev/null +++ b/docs/EntityBalanceTransactionContextRefund.md @@ -0,0 +1,14 @@ +# EntityBalanceTransactionContextRefund + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**refund_id** | Option<**String**> | | [optional] +**refund_description** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextReturnedTransfer.md b/docs/EntityBalanceTransactionContextReturnedTransfer.md new file mode 100644 index 0000000..6ab527d --- /dev/null +++ b/docs/EntityBalanceTransactionContextReturnedTransfer.md @@ -0,0 +1,12 @@ +# EntityBalanceTransactionContextReturnedTransfer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transfer_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransactionContextSplitPayment.md b/docs/EntityBalanceTransactionContextSplitPayment.md new file mode 100644 index 0000000..652aa24 --- /dev/null +++ b/docs/EntityBalanceTransactionContextSplitPayment.md @@ -0,0 +1,13 @@ +# EntityBalanceTransactionContextSplitPayment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | Option<**String**> | | [optional] +**payment_description** | Option<**String**> | | [optional] +**payment_onwer** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransfer.md b/docs/EntityBalanceTransfer.md new file mode 100644 index 0000000..eaf8fbd --- /dev/null +++ b/docs/EntityBalanceTransfer.md @@ -0,0 +1,23 @@ +# EntityBalanceTransfer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. | [readonly] +**id** | **String** | | +**amount** | [**models::Amount**](amount.md) | The amount to be transferred, e.g. `{\"currency\":\"EUR\", \"value\":\"1000.00\"}` if you would like to transfer €1000.00. | +**source** | [**models::EntityBalanceTransferParty**](entity-balance-transfer-party.md) | | +**destination** | [**models::EntityBalanceTransferParty**](entity-balance-transfer-party.md) | | +**description** | **String** | The transfer description for initiating party. | +**status** | [**models::BalanceTransferStatus**](balance-transfer-status.md) | | +**status_reason** | [**models::EntityBalanceTransferStatusReason**](entity_balance_transfer_statusReason.md) | | +**category** | Option<[**models::BalanceTransferCategory**](balance-transfer-category.md)> | | [optional] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**executed_at** | Option<**String**> | The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is not executed (yet). | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**mode** | [**models::Mode**](mode.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferDestination.md b/docs/EntityBalanceTransferDestination.md new file mode 100644 index 0000000..fff5cfe --- /dev/null +++ b/docs/EntityBalanceTransferDestination.md @@ -0,0 +1,13 @@ +# EntityBalanceTransferDestination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::BalanceTransferDestinationType**](balance-transfer-destination-type.md)> | | [optional] +**bank_account** | Option<**String**> | The configured bank account number of the beneficiary the balance amount is to be transferred to. | [optional] +**beneficiary_name** | Option<**String**> | The full name of the beneficiary the balance amount is to be transferred to. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferParty.md b/docs/EntityBalanceTransferParty.md new file mode 100644 index 0000000..9c88743 --- /dev/null +++ b/docs/EntityBalanceTransferParty.md @@ -0,0 +1,13 @@ +# EntityBalanceTransferParty + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::BalanceTransferPartyType**](balance-transfer-party-type.md) | | +**id** | **String** | | +**description** | **String** | The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferPartyResponse.md b/docs/EntityBalanceTransferPartyResponse.md new file mode 100644 index 0000000..55c89c0 --- /dev/null +++ b/docs/EntityBalanceTransferPartyResponse.md @@ -0,0 +1,13 @@ +# EntityBalanceTransferPartyResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::BalanceTransferPartyTypeResponse**](balance-transfer-party-type-response.md) | | +**id** | **String** | | +**description** | **String** | The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferResponse.md b/docs/EntityBalanceTransferResponse.md new file mode 100644 index 0000000..ce588bc --- /dev/null +++ b/docs/EntityBalanceTransferResponse.md @@ -0,0 +1,23 @@ +# EntityBalanceTransferResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. | [readonly] +**id** | **String** | | +**amount** | [**models::Amount**](amount.md) | The amount to be transferred, e.g. `{\"currency\":\"EUR\", \"value\":\"1000.00\"}` if you would like to transfer €1000.00. | +**source** | [**models::EntityBalanceTransferPartyResponse**](entity-balance-transfer-party-response.md) | | +**destination** | [**models::EntityBalanceTransferPartyResponse**](entity-balance-transfer-party-response.md) | | +**description** | **String** | The transfer description for initiating party. | +**status** | [**models::BalanceTransferStatus**](balance-transfer-status.md) | | +**status_reason** | [**models::EntityBalanceTransferResponseStatusReason**](entity_balance_transfer_response_statusReason.md) | | +**category** | Option<[**models::BalanceTransferCategoryResponse**](balance-transfer-category-response.md)> | | [optional] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**executed_at** | Option<**String**> | The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is not executed (yet). | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**mode** | [**models::Mode**](mode.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferResponseStatusReason.md b/docs/EntityBalanceTransferResponseStatusReason.md new file mode 100644 index 0000000..42827fb --- /dev/null +++ b/docs/EntityBalanceTransferResponseStatusReason.md @@ -0,0 +1,12 @@ +# EntityBalanceTransferResponseStatusReason + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**models::BalanceTransferStatusReasonResponse**](balance-transfer-status-reason-response.md) | | +**message** | **String** | A description of the status reason, localized according to the transfer. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityBalanceTransferStatusReason.md b/docs/EntityBalanceTransferStatusReason.md new file mode 100644 index 0000000..f52d83a --- /dev/null +++ b/docs/EntityBalanceTransferStatusReason.md @@ -0,0 +1,12 @@ +# EntityBalanceTransferStatusReason + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**models::BalanceTransferStatusReason**](balance-transfer-status-reason.md) | | +**message** | **String** | A description of the status reason, localized according to the transfer. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCapability.md b/docs/EntityCapability.md new file mode 100644 index 0000000..94c4e68 --- /dev/null +++ b/docs/EntityCapability.md @@ -0,0 +1,15 @@ +# EntityCapability + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Always the word `capability` for this resource type. | [optional] +**name** | Option<**String**> | A unique name for this capability like `payments` / `settlements`. | [optional] +**status** | Option<[**models::CapabilityStatus**](capability-status.md)> | | [optional] +**status_reason** | Option<[**models::CapabilityStatusReason**](capability-status-reason.md)> | | [optional] +**requirements** | Option<[**Vec**](entity-capability-requirement.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCapabilityRequirement.md b/docs/EntityCapabilityRequirement.md new file mode 100644 index 0000000..ba7ae75 --- /dev/null +++ b/docs/EntityCapabilityRequirement.md @@ -0,0 +1,14 @@ +# EntityCapabilityRequirement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | The name of this requirement, referring to the task to be fulfilled by the organization to enable or re-enable the capability. The name is unique among other requirements of the same capability. | [optional] +**status** | Option<[**models::CapabilityRequirementStatus**](capability-requirement-status.md)> | | [optional] +**due_date** | Option<**String**> | Due date until the requirement must be fulfilled, if any. The date is shown in ISO-8601 format. | [optional] +**_links** | Option<[**models::EntityCapabilityRequirementLinks**](entity_capability_requirement__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCapabilityRequirementLinks.md b/docs/EntityCapabilityRequirementLinks.md new file mode 100644 index 0000000..67db23f --- /dev/null +++ b/docs/EntityCapabilityRequirementLinks.md @@ -0,0 +1,11 @@ +# EntityCapabilityRequirementLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dashboard** | Option<[**models::EntityCapabilityRequirementLinksDashboard**](entity_capability_requirement__links_dashboard.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCapabilityRequirementLinksDashboard.md b/docs/EntityCapabilityRequirementLinksDashboard.md new file mode 100644 index 0000000..3fb7caf --- /dev/null +++ b/docs/EntityCapabilityRequirementLinksDashboard.md @@ -0,0 +1,12 @@ +# EntityCapabilityRequirementLinksDashboard + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | Option<**String**> | The actual URL string. | [optional] +**r#type** | Option<**String**> | The content type of the page or endpoint the URL points to. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCapture.md b/docs/EntityCapture.md new file mode 100644 index 0000000..32ca30d --- /dev/null +++ b/docs/EntityCapture.md @@ -0,0 +1,23 @@ +# EntityCapture + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the capture. | [optional] +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount captured. If no amount is provided, the full authorized amount is captured. | [optional] +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**status** | Option<[**models::CaptureStatus**](capture-status.md)> | | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**payment_id** | Option<**String**> | | [optional] +**shipment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityCaptureLinks**](entity_capture__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCaptureLinks.md b/docs/EntityCaptureLinks.md new file mode 100644 index 0000000..26e5934 --- /dev/null +++ b/docs/EntityCaptureLinks.md @@ -0,0 +1,15 @@ +# EntityCaptureLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**payment** | [**models::Url**](url.md) | The API resource URL of the [payment](get-payment) that this capture belongs to. | +**settlement** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [settlement](get-settlement) this capture has been settled with. Not present if not yet settled. | [optional] +**shipment** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [shipment](get-shipment) this capture is associated with. Not present if it isn't associated with a shipment. | [optional] +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCaptureResponse.md b/docs/EntityCaptureResponse.md new file mode 100644 index 0000000..e43460e --- /dev/null +++ b/docs/EntityCaptureResponse.md @@ -0,0 +1,23 @@ +# EntityCaptureResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the capture. | [optional] +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount captured. If no amount is provided, the full authorized amount is captured. | [optional] +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**status** | Option<[**models::CaptureStatus**](capture-status.md)> | | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**payment_id** | Option<**String**> | | [optional] +**shipment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityCaptureLinks**](entity_capture__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityChargeback.md b/docs/EntityChargeback.md new file mode 100644 index 0000000..22a85b8 --- /dev/null +++ b/docs/EntityChargeback.md @@ -0,0 +1,20 @@ +# EntityChargeback + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a chargeback object. Will always contain the string `chargeback` for this endpoint. | [readonly] +**id** | **String** | | +**amount** | [**models::Amount**](amount.md) | The amount charged back by the customer. | +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. Since the field contains an estimated amount during chargeback processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**reason** | Option<[**models::EntityChargebackReason**](entity_chargeback_reason.md)> | | [optional] +**payment_id** | **String** | | +**settlement_id** | Option<**String**> | | [optional] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**reversed_at** | Option<**String**> | The date and time the chargeback was reversed if applicable, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | [**models::EntityRefundLinks**](entity_refund__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityChargebackReason.md b/docs/EntityChargebackReason.md new file mode 100644 index 0000000..9c17b58 --- /dev/null +++ b/docs/EntityChargebackReason.md @@ -0,0 +1,12 @@ +# EntityChargebackReason + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **String** | Technical code provided by the bank. | +**description** | **String** | A more detailed human-friendly description. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClient.md b/docs/EntityClient.md new file mode 100644 index 0000000..95f580d --- /dev/null +++ b/docs/EntityClient.md @@ -0,0 +1,15 @@ +# EntityClient + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a client object. Will always contain the string `client` for this resource type. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this client. Example: `org_12345678`. | [optional][readonly] +**commission** | Option<[**models::EntityClientCommission**](entity_client_commission.md)> | | [optional] +**organization_created_at** | Option<**String**> | The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityClientLinks**](entity_client__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientCommission.md b/docs/EntityClientCommission.md new file mode 100644 index 0000000..56181f5 --- /dev/null +++ b/docs/EntityClientCommission.md @@ -0,0 +1,11 @@ +# EntityClientCommission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The commission count. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLink.md b/docs/EntityClientLink.md new file mode 100644 index 0000000..e90e881 --- /dev/null +++ b/docs/EntityClientLink.md @@ -0,0 +1,18 @@ +# EntityClientLink + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a client link object. Will always contain the string `client-link` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`. | [optional][readonly] +**owner** | Option<[**models::EntityClientLinkOwner**](entity_client_link_owner.md)> | | [optional] +**name** | Option<**String**> | Name of the organization. | [optional] +**address** | Option<[**models::EntityClientLinkAddress**](entity_client_link_address.md)> | | [optional] +**registration_number** | Option<**String**> | The registration number of the organization at their local chamber of commerce. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization, if based in the European Union. VAT numbers are verified against the international registry *VIES*. | [optional] +**_links** | Option<[**models::EntityClientLinkLinks**](entity_client_link__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLinkAddress.md b/docs/EntityClientLinkAddress.md new file mode 100644 index 0000000..5f03958 --- /dev/null +++ b/docs/EntityClientLinkAddress.md @@ -0,0 +1,14 @@ +# EntityClientLinkAddress + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**street_and_number** | Option<**String**> | The street name and house number of the organization. | [optional] +**postal_code** | Option<**String**> | The postal code of the organization. Required if a street address is provided and if the country has a postal code system. | [optional] +**city** | Option<**String**> | The city of the organization. Required if a street address is provided. | [optional] +**country** | **String** | The country of the address in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLinkLinks.md b/docs/EntityClientLinkLinks.md new file mode 100644 index 0000000..0a5907e --- /dev/null +++ b/docs/EntityClientLinkLinks.md @@ -0,0 +1,13 @@ +# EntityClientLinkLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**client_link** | Option<[**models::Url**](url.md)> | The link you can send your customer to, where they can either log in and link their account, or sign up and proceed with onboarding. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLinkOwner.md b/docs/EntityClientLinkOwner.md new file mode 100644 index 0000000..43bcc10 --- /dev/null +++ b/docs/EntityClientLinkOwner.md @@ -0,0 +1,14 @@ +# EntityClientLinkOwner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **String** | The email address of your customer. | +**given_name** | **String** | The given name (first name) of your customer. | +**family_name** | **String** | The family name (surname) of your customer. | +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Preset the language to be used for the login screen, if applicable. For the consent screen, the preferred language of the logged in merchant will be used and this parameter is ignored. When this parameter is omitted, the browser language will be used instead. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLinkResponse.md b/docs/EntityClientLinkResponse.md new file mode 100644 index 0000000..c6953e5 --- /dev/null +++ b/docs/EntityClientLinkResponse.md @@ -0,0 +1,18 @@ +# EntityClientLinkResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a client link object. Will always contain the string `client-link` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`. | [optional][readonly] +**owner** | Option<[**models::EntityClientLinkOwner**](entity_client_link_owner.md)> | | [optional] +**name** | Option<**String**> | Name of the organization. | [optional] +**address** | Option<[**models::EntityClientLinkAddress**](entity_client_link_address.md)> | | [optional] +**registration_number** | Option<**String**> | The registration number of the organization at their local chamber of commerce. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization, if based in the European Union. VAT numbers are verified against the international registry *VIES*. | [optional] +**_links** | Option<[**models::EntityClientLinkLinks**](entity_client_link__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityClientLinks.md b/docs/EntityClientLinks.md new file mode 100644 index 0000000..e2b1436 --- /dev/null +++ b/docs/EntityClientLinks.md @@ -0,0 +1,14 @@ +# EntityClientLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**organization** | Option<[**models::Url**](url.md)> | The API resource URL of the client's organization. | [optional] +**onboarding** | Option<[**models::Url**](url.md)> | The API resource URL of the client's onboarding status. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCustomer.md b/docs/EntityCustomer.md new file mode 100644 index 0000000..f26b3df --- /dev/null +++ b/docs/EntityCustomer.md @@ -0,0 +1,20 @@ +# EntityCustomer + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The full name of the customer. | [optional] +**email** | Option<**String**> | The email address of the customer. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityCustomerLinks**](entity_customer__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCustomerLinks.md b/docs/EntityCustomerLinks.md new file mode 100644 index 0000000..ab33835 --- /dev/null +++ b/docs/EntityCustomerLinks.md @@ -0,0 +1,16 @@ +# EntityCustomerLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**dashboard** | [**models::Url**](url.md) | | +**payments** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments exist (yet). | [optional] +**mandates** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates exist (yet). | [optional] +**subscriptions** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such subscriptions exist (yet). | [optional] +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityCustomerResponse.md b/docs/EntityCustomerResponse.md new file mode 100644 index 0000000..dda16b5 --- /dev/null +++ b/docs/EntityCustomerResponse.md @@ -0,0 +1,20 @@ +# EntityCustomerResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The full name of the customer. | [optional] +**email** | Option<**String**> | The email address of the customer. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityCustomerLinks**](entity_customer__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityEvent.md b/docs/EntityEvent.md new file mode 100644 index 0000000..f009b14 --- /dev/null +++ b/docs/EntityEvent.md @@ -0,0 +1,15 @@ +# EntityEvent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | | +**r#type** | **i32** | | +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**message** | **String** | | +**_links** | Option<[**models::EntityEventLinks**](entity_event__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityEventLinks.md b/docs/EntityEventLinks.md new file mode 100644 index 0000000..8c03f68 --- /dev/null +++ b/docs/EntityEventLinks.md @@ -0,0 +1,11 @@ +# EntityEventLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityInvoice.md b/docs/EntityInvoice.md new file mode 100644 index 0000000..1e655e0 --- /dev/null +++ b/docs/EntityInvoice.md @@ -0,0 +1,23 @@ +# EntityInvoice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates that the response contains an invoice object. Will always contain the string `invoice` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this invoice. Example: `inv_FrvewDA3Pr`. | [optional][readonly] +**reference** | Option<**String**> | The reference number of the invoice. An example value would be: `2024.10000`. | [optional][readonly] +**vat_number** | Option<**String**> | The VAT number to which the invoice was issued to, if applicable. | [optional][readonly] +**status** | Option<[**models::InvoiceStatus**](invoice-status.md)> | | [optional][readonly] +**net_amount** | Option<[**models::Amount**](amount.md)> | Total amount of the invoice, excluding VAT. | [optional][readonly] +**vat_amount** | Option<[**models::Amount**](amount.md)> | VAT amount of the invoice. Only applicable to merchants registered in the Netherlands. For EU merchants, VAT will be shifted to the recipient (as per article 44 and 196 in the EU VAT Directive 2006/112). For merchants outside the EU, no VAT will be charged. | [optional][readonly] +**gross_amount** | Option<[**models::Amount**](amount.md)> | Total amount of the invoice, including VAT. | [optional][readonly] +**lines** | Option<[**Vec**](entity_invoice_lines_inner.md)> | The collection of products which make up the invoice. | [optional] +**issued_at** | Option<**String**> | The invoice date in `YYYY-MM-DD` format. | [optional][readonly] +**paid_at** | Option<**String**> | The date on which the invoice was paid, if applicable, in `YYYY-MM-DD` format. | [optional][readonly] +**due_at** | Option<**String**> | The date on which the invoice is due, if applicable, in `YYYY-MM-DD` format. | [optional][readonly] +**_links** | Option<[**models::EntityInvoiceLinks**](entity_invoice__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityInvoiceLinesInner.md b/docs/EntityInvoiceLinesInner.md new file mode 100644 index 0000000..76f0c2e --- /dev/null +++ b/docs/EntityInvoiceLinesInner.md @@ -0,0 +1,15 @@ +# EntityInvoiceLinesInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**period** | Option<**String**> | The administrative period in `YYYY-MM` on which the line should be booked. | [optional] +**description** | Option<**String**> | Description of the product. | [optional] +**count** | Option<**i32**> | Number of products invoiced. For example, the number of payments. | [optional] +**vat_percentage** | Option<**i32**> | VAT percentage rate that applies to this product. | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | Line item amount excluding VAT. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityInvoiceLinks.md b/docs/EntityInvoiceLinks.md new file mode 100644 index 0000000..8101da2 --- /dev/null +++ b/docs/EntityInvoiceLinks.md @@ -0,0 +1,13 @@ +# EntityInvoiceLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | URL to the current invoice resource. | [optional] +**pdf** | Option<[**models::Url**](url.md)> | URL to a downloadable PDF of the invoice. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | URL to the API documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMandate.md b/docs/EntityMandate.md new file mode 100644 index 0000000..69bb3a5 --- /dev/null +++ b/docs/EntityMandate.md @@ -0,0 +1,28 @@ +# EntityMandate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**method** | Option<[**models::MandateMethod**](mandate-method.md)> | | [optional] +**consumer_name** | Option<**String**> | The customer's name. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN. Required for SEPA Direct Debit mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. | [optional] +**consumer_email** | Option<**String**> | The customer's email address. Required for PayPal mandates. | [optional] +**details** | Option<[**models::EntityMandateDetails**](entity_mandate_details.md)> | | [optional] +**signature_date** | Option<**String**> | The date when the mandate was signed in `YYYY-MM-DD` format. | [optional] +**mandate_reference** | Option<**String**> | A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. | [optional] +**paypal_billing_agreement_id** | Option<**String**> | The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. | [optional] +**pay_pal_vault_id** | Option<**String**> | The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. | [optional] +**status** | Option<[**models::MandateStatus**](mandate-status.md)> | | [optional][readonly] +**customer_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityMandateLinks**](entity_mandate__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMandateDetails.md b/docs/EntityMandateDetails.md new file mode 100644 index 0000000..91714e5 --- /dev/null +++ b/docs/EntityMandateDetails.md @@ -0,0 +1,18 @@ +# EntityMandateDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumer_name** | Option<**String**> | The customer's name. Available for SEPA Direct Debit and PayPal mandates. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. Available for SEPA Direct Debit mandates. | [optional] +**card_holder** | Option<**String**> | The card holder's name. Available for card mandates. | [optional] +**card_number** | Option<**String**> | The last four digits of the card number. Available for card mandates. | [optional] +**card_expiry_date** | Option<**String**> | The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. | [optional] +**card_label** | Option<[**models::MandateDetailsCardLabel**](mandate-details-card-label.md)> | | [optional] +**card_fingerprint** | Option<**String**> | Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify returning customers. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMandateLinks.md b/docs/EntityMandateLinks.md new file mode 100644 index 0000000..b677724 --- /dev/null +++ b/docs/EntityMandateLinks.md @@ -0,0 +1,13 @@ +# EntityMandateLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**customer** | [**models::Url**](url.md) | The API resource URL of the [customer](get-customer) that this mandate belongs to. | +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMandateResponse.md b/docs/EntityMandateResponse.md new file mode 100644 index 0000000..6ba8244 --- /dev/null +++ b/docs/EntityMandateResponse.md @@ -0,0 +1,28 @@ +# EntityMandateResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**method** | Option<[**models::MandateMethodResponse**](mandate-method-response.md)> | | [optional] +**consumer_name** | Option<**String**> | The customer's name. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN. Required for SEPA Direct Debit mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. | [optional] +**consumer_email** | Option<**String**> | The customer's email address. Required for PayPal mandates. | [optional] +**details** | Option<[**models::EntityMandateResponseDetails**](entity_mandate_response_details.md)> | | [optional] +**signature_date** | Option<**String**> | The date when the mandate was signed in `YYYY-MM-DD` format. | [optional] +**mandate_reference** | Option<**String**> | A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. | [optional] +**paypal_billing_agreement_id** | Option<**String**> | The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. | [optional] +**pay_pal_vault_id** | Option<**String**> | The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. | [optional] +**status** | Option<[**models::MandateStatus**](mandate-status.md)> | | [optional][readonly] +**customer_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityMandateLinks**](entity_mandate__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMandateResponseDetails.md b/docs/EntityMandateResponseDetails.md new file mode 100644 index 0000000..13221e5 --- /dev/null +++ b/docs/EntityMandateResponseDetails.md @@ -0,0 +1,18 @@ +# EntityMandateResponseDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumer_name** | Option<**String**> | The customer's name. Available for SEPA Direct Debit and PayPal mandates. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. Available for SEPA Direct Debit mandates. | [optional] +**card_holder** | Option<**String**> | The card holder's name. Available for card mandates. | [optional] +**card_number** | Option<**String**> | The last four digits of the card number. Available for card mandates. | [optional] +**card_expiry_date** | Option<**String**> | The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. | [optional] +**card_label** | Option<[**models::MandateDetailsCardLabelResponse**](mandate-details-card-label-response.md)> | | [optional] +**card_fingerprint** | Option<**String**> | Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify returning customers. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethod.md b/docs/EntityMethod.md new file mode 100644 index 0000000..dea853b --- /dev/null +++ b/docs/EntityMethod.md @@ -0,0 +1,19 @@ +# EntityMethod + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a payment method object. Will always contain the string `method` for this endpoint. | [readonly] +**id** | Option<[**models::MethodResponse**](method-response.md)> | The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped. | [readonly] +**description** | **String** | The full name of the payment method. If a `locale` parameter is provided, the name is translated to the given locale if possible. | [readonly] +**minimum_amount** | [**models::Amount**](amount.md) | The minimum payment amount required to use this payment method. | [readonly] +**maximum_amount** | [**models::AmountNullable**](amount-nullable.md) | The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` is returned instead. | [readonly] +**image** | [**models::EntityMethodImage**](entity_method_image.md) | | +**status** | [**models::MethodStatus**](method-status.md) | | +**issuers** | Option<[**Vec**](entity_method_issuers_inner.md)> | **Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant for iDEAL, KBC/CBC, gift cards, and vouchers. | [optional] +**_links** | [**models::EntityMethodLinks**](entity_method__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodAll.md b/docs/EntityMethodAll.md new file mode 100644 index 0000000..d26475b --- /dev/null +++ b/docs/EntityMethodAll.md @@ -0,0 +1,20 @@ +# EntityMethodAll + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a payment method object. Will always contain the string `method` for this endpoint. | [readonly] +**id** | Option<[**models::MethodResponse**](method-response.md)> | The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped. | [readonly] +**description** | **String** | The full name of the payment method. If a `locale` parameter is provided, the name is translated to the given locale if possible. | [readonly] +**minimum_amount** | [**models::Amount**](amount.md) | The minimum payment amount required to use this payment method. | [readonly] +**maximum_amount** | [**models::AmountNullable**](amount-nullable.md) | The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` is returned instead. | [readonly] +**image** | [**models::EntityMethodImage**](entity_method_image.md) | | +**status** | [**models::MethodStatus**](method-status.md) | | +**issuers** | Option<[**Vec**](entity_method_issuers_inner.md)> | **Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant for iDEAL, KBC/CBC, gift cards, and vouchers. | [optional] +**_links** | [**models::EntityMethodLinks**](entity_method__links.md) | | +**pricing** | Option<[**Vec**](entity_method_all_allOf_pricing.md)> | **Optional include.** Array of objects describing the pricing configuration applicable for this payment method on your account. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodAllAllOfPricing.md b/docs/EntityMethodAllAllOfPricing.md new file mode 100644 index 0000000..978735f --- /dev/null +++ b/docs/EntityMethodAllAllOfPricing.md @@ -0,0 +1,14 @@ +# EntityMethodAllAllOfPricing + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | A description of what the pricing applies to. For example, a specific country (`The Netherlands`) or a category of cards (`American Express`). If a `locale` is provided, the description may be translated. | +**fixed** | [**models::Amount**](amount.md) | The fixed price charged per payment. | +**variable** | **String** | The variable price charged per payment, as a percentage string. | +**fee_region** | Option<**String**> | Only present for credit card pricing. It will correspond with the `feeRegion` of credit card payments as returned in the [Payments API](get-payment). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodImage.md b/docs/EntityMethodImage.md new file mode 100644 index 0000000..50562b6 --- /dev/null +++ b/docs/EntityMethodImage.md @@ -0,0 +1,13 @@ +# EntityMethodImage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**size1x** | **String** | The URL pointing to an icon of 32 by 24 pixels. | +**size2x** | **String** | The URL pointing to an icon of 64 by 48 pixels. | +**svg** | **String** | The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodIssuersInner.md b/docs/EntityMethodIssuersInner.md new file mode 100644 index 0000000..c65361c --- /dev/null +++ b/docs/EntityMethodIssuersInner.md @@ -0,0 +1,14 @@ +# EntityMethodIssuersInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | | +**id** | **String** | | +**name** | **String** | The full name of the issuer. | +**image** | [**models::EntityMethodIssuersInnerImage**](entity_method_issuers_inner_image.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodIssuersInnerImage.md b/docs/EntityMethodIssuersInnerImage.md new file mode 100644 index 0000000..ab17dd0 --- /dev/null +++ b/docs/EntityMethodIssuersInnerImage.md @@ -0,0 +1,13 @@ +# EntityMethodIssuersInnerImage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**size1x** | Option<**String**> | The URL pointing to an icon of 32 by 24 pixels. | [optional] +**size2x** | Option<**String**> | The URL pointing to an icon of 64 by 48 pixels. | [optional] +**svg** | Option<**String**> | The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityMethodLinks.md b/docs/EntityMethodLinks.md new file mode 100644 index 0000000..1e10621 --- /dev/null +++ b/docs/EntityMethodLinks.md @@ -0,0 +1,12 @@ +# EntityMethodLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityOnboardingStatus.md b/docs/EntityOnboardingStatus.md new file mode 100644 index 0000000..1c93063 --- /dev/null +++ b/docs/EntityOnboardingStatus.md @@ -0,0 +1,17 @@ +# EntityOnboardingStatus + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains an onboarding status object. Will always contain the string `onboarding` for this resource type. | [optional][readonly] +**name** | Option<**String**> | The name of the organization. | [optional][readonly] +**status** | Option<[**models::OnboardingStatus**](onboarding-status.md)> | | [optional][readonly] +**can_receive_payments** | Option<**bool**> | Whether the organization can receive payments. | [optional][readonly] +**can_receive_settlements** | Option<**bool**> | Whether the organization can receive settlements to their external bank account. | [optional][readonly] +**signed_up_at** | Option<**String**> | The sign up date time of the organization in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityOnboardingStatusLinks**](entity_onboarding_status__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityOnboardingStatusLinks.md b/docs/EntityOnboardingStatusLinks.md new file mode 100644 index 0000000..f7ad5dd --- /dev/null +++ b/docs/EntityOnboardingStatusLinks.md @@ -0,0 +1,14 @@ +# EntityOnboardingStatusLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**dashboard** | Option<[**models::Url**](url.md)> | Direct link to the onboarding process in the Mollie dashboard. The merchant can be redirected to this page to complete their onboarding. | [optional] +**organization** | Option<[**models::Url**](url.md)> | The API resource URL of the organization. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityOrganization.md b/docs/EntityOrganization.md new file mode 100644 index 0000000..cf4aae0 --- /dev/null +++ b/docs/EntityOrganization.md @@ -0,0 +1,20 @@ +# EntityOrganization + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains an organization object. Will always contain the string `organization` for this resource type. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this organization. Example: `org_12345678`. | [optional][readonly] +**name** | Option<**String**> | The name of the organization. | [optional][readonly] +**email** | Option<**String**> | The email address associated with the organization. | [optional][readonly] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | The preferred locale of the merchant, as set in their Mollie dashboard. | [optional][readonly] +**address** | Option<[**models::Address**](address.md)> | The address of the organization. | [optional] +**registration_number** | Option<**String**> | The registration number of the organization at their local chamber of commerce. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are verified against the international registry *VIES*. The field is not present for merchants residing in other countries. | [optional] +**vat_regulation** | Option<[**models::OrganizationVatRegulation**](organization-vat-regulation.md)> | | [optional] +**_links** | Option<[**models::EntityOrganizationLinks**](entity_organization__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityOrganizationLinks.md b/docs/EntityOrganizationLinks.md new file mode 100644 index 0000000..9d3713c --- /dev/null +++ b/docs/EntityOrganizationLinks.md @@ -0,0 +1,13 @@ +# EntityOrganizationLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**dashboard** | Option<[**models::Url**](url.md)> | Direct link to the organization's Mollie dashboard. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPayment.md b/docs/EntityPayment.md new file mode 100644 index 0000000..0ed6435 --- /dev/null +++ b/docs/EntityPayment.md @@ -0,0 +1,58 @@ +# EntityPayment + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. | [optional] +**amount_refunded** | Option<[**models::Amount**](amount.md)> | The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. | [optional][readonly] +**amount_remaining** | Option<[**models::Amount**](amount.md)> | The remaining amount that can be refunded. Only available when refunds are available for this payment. | [optional][readonly] +**amount_captured** | Option<[**models::Amount**](amount.md)> | The total amount that is already captured for this payment. Only available when this payment supports captures. | [optional][readonly] +**amount_charged_back** | Option<[**models::Amount**](amount.md)> | The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. | [optional][readonly] +**settlement_amount** | Option<[**models::Amount**](amount.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. | [optional] +**cancel_url** | Option<**String**> | The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](entity_payment_lines_inner.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::EntityPaymentBillingAddress**](entity_payment_billingAddress.md)> | | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**locale** | Option<[**models::Locale**](locale.md)> | Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. | [optional] +**country_code** | Option<**String**> | This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. | [optional][readonly] +**method** | Option<[**models::Method**](method.md)> | | [optional] +**issuer** | Option<**String**> | **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). | [optional] +**restrict_payment_methods_to_country** | Option<**String**> | For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**capture_mode** | Option<[**models::CaptureMode**](capture-mode.md)> | | [optional] +**capture_delay** | Option<**String**> | **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` | [optional] +**capture_before** | Option<**String**> | Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**application_fee** | Option<[**models::EntityPaymentApplicationFee**](entity_payment_applicationFee.md)> | | [optional] +**routing** | Option<[**Vec**](entity-payment-route.md)> | *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. | [optional] +**sequence_type** | Option<[**models::SequenceType**](sequence-type.md)> | **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. | [optional] +**subscription_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**customer_id** | Option<**String**> | | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**settlement_id** | Option<**String**> | | [optional] +**order_id** | Option<**String**> | | [optional] +**status** | Option<[**models::PaymentStatus**](payment-status.md)> | | [optional][readonly] +**status_reason** | Option<[**models::StatusReason**](status-reason.md)> | | [optional] +**is_cancelable** | Option<**bool**> | Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. | [optional][readonly] +**details** | Option<[**models::EntityPaymentDetails**](entity_payment_details.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**authorized_at** | Option<**String**> | The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). | [optional][readonly] +**canceled_at** | Option<**String**> | The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. | [optional][readonly] +**expired_at** | Option<**String**> | The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). | [optional][readonly] +**failed_at** | Option<**String**> | The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). | [optional][readonly] +**due_date** | Option<**String**> | The date by which the payment should be completed in `YYYY-MM-DD` format | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityPaymentLinks**](entity_payment__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentApplicationFee.md b/docs/EntityPaymentApplicationFee.md new file mode 100644 index 0000000..631e81a --- /dev/null +++ b/docs/EntityPaymentApplicationFee.md @@ -0,0 +1,12 @@ +# EntityPaymentApplicationFee + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | Option<[**models::Amount**](amount.md)> | The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment. | [optional] +**description** | Option<**String**> | The description of the application fee. This will appear on settlement reports towards both you and the connected merchant. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentBillingAddress.md b/docs/EntityPaymentBillingAddress.md new file mode 100644 index 0000000..ad8f4c7 --- /dev/null +++ b/docs/EntityPaymentBillingAddress.md @@ -0,0 +1,22 @@ +# EntityPaymentBillingAddress + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | Option<**String**> | The title of the person, for example *Mr.* or *Mrs.*. | [optional] +**given_name** | Option<**String**> | The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**family_name** | Option<**String**> | The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**organization_name** | Option<[**serde_json::Value**](.md)> | | [optional] +**street_and_number** | Option<**String**> | A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**street_additional** | Option<**String**> | Any additional addressing details, for example an apartment number. | [optional] +**postal_code** | Option<**String**> | A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**email** | Option<**String**> | A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**phone** | Option<**String**> | If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. | [optional] +**city** | Option<**String**> | A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**region** | Option<**String**> | The top-level administrative subdivision of the country. For example: Noord-Holland. | [optional] +**country** | Option<**String**> | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentDetails.md b/docs/EntityPaymentDetails.md new file mode 100644 index 0000000..a0403c4 --- /dev/null +++ b/docs/EntityPaymentDetails.md @@ -0,0 +1,60 @@ +# EntityPaymentDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumer_name** | Option<**String**> | The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. | [optional] +**consumer_account** | Option<**String**> | The customer's account reference. For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number. For PayPal, the account reference is an email address. For card and Bancontact payments, refer to details.cardNumber. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank account, if applicable. | [optional] +**shipping_address** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail. | [optional] +**card_number** | Option<**String**> | For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. | [optional] +**bank_name** | Option<**String**> | The name of the bank that the customer will need to make the bank transfer payment towards. | [optional] +**bank_account** | Option<**String**> | The bank account number the customer will need to make the bank transfer payment towards. | [optional] +**bank_bic** | Option<**String**> | The BIC of the bank the customer will need to make the bank transfer payment towards. | [optional] +**transfer_reference** | Option<**String**> | The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is. | [optional] +**card_fingerprint** | Option<**String**> | A unique fingerprint for a specific card. Can be used to identify returning customers. In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, linking multiple transactions from wallets and physical card to a single account, also across payment methods or when the card is reissued. | [optional] +**card_holder** | Option<**String**> | The customer's name as shown on their card. | [optional] +**card_audition** | Option<[**models::PaymentDetailsCardAudition**](payment-details-card-audition.md)> | | [optional] +**card_label** | Option<[**models::PaymentDetailsCardLabel**](payment-details-card-label.md)> | | [optional] +**card_country_code** | Option<**String**> | The ISO 3166-1 alpha-2 country code of the country the card was issued in. | [optional] +**card_expiry_date** | Option<**String**> | The expiry date (MM/YY) of the card as displayed on the card. | [optional] +**card_funding** | Option<[**models::PaymentDetailsCardFunding**](payment-details-card-funding.md)> | | [optional] +**card_security** | Option<[**models::PaymentDetailsCardSecurity**](payment-details-card-security.md)> | | [optional] +**fee_region** | Option<[**models::PaymentDetailsFeeRegion**](payment-details-fee-region.md)> | | [optional] +**card_masked_number** | Option<**String**> | The first 6 and last 4 digits of the card number. | [optional] +**card3ds_eci** | Option<**String**> | The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). | [optional] +**card_bin** | Option<**String**> | The first 6 digit of the card bank identification number. | [optional] +**card_issuer** | Option<**String**> | The issuer of the Card. | [optional] +**failure_reason** | Option<[**models::PaymentDetailsFailureReason**](payment-details-failure-reason.md)> | | [optional] +**failure_message** | Option<**String**> | A human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting. | [optional] +**wallet** | Option<[**models::PaymentDetailsWallet**](payment-details-wallet.md)> | | [optional] +**paypal_reference** | Option<**String**> | PayPal's reference for the payment. | [optional] +**paypal_payer_id** | Option<**String**> | ID of the customer's PayPal account. | [optional] +**seller_protection** | Option<[**models::PaymentDetailsSellerProtection**](payment-details-seller-protection.md)> | | [optional] +**paypal_fee** | Option<[**models::AmountNullable**](amount-nullable.md)> | An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction. | [optional] +**customer_reference** | Option<**String**> | The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. | [optional] +**terminal_id** | Option<**String**> | The ID of the terminal device where the payment took place on. | [optional] +**masked_number** | Option<**String**> | The first 6 digits & last 4 digits of the customer's masked card number. | [optional] +**receipt** | Option<[**models::EntityPaymentDetailsReceipt**](entity_payment_details_receipt.md)> | | [optional] +**creditor_identifier** | Option<**String**> | The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie. | [optional] +**due_date** | Option<[**String**](string.md)> | Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. | [optional] +**signature_date** | Option<[**String**](string.md)> | Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment has been signed. | [optional] +**bank_reason_code** | Option<**String**> | The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council. | [optional] +**bank_reason** | Option<**String**> | A human-friendly description of the failure reason. | [optional] +**end_to_end_identifier** | Option<**String**> | The end-to-end identifier you provided in the batch file. | [optional] +**mandate_reference** | Option<**String**> | The mandate reference you provided in the batch file. | [optional] +**batch_reference** | Option<**String**> | The batch reference you provided in the batch file. | [optional] +**file_reference** | Option<**String**> | The file reference you provided in the batch file. | [optional] +**qr_code** | Option<[**models::EntityPaymentDetailsQrCode**](entity_payment_details_qrCode.md)> | | [optional] +**voucher_number** | Option<**String**> | For payments with gift cards: the masked gift card number of the first gift card applied to the payment. | [optional] +**giftcards** | Option<[**Vec>**](std::collections::HashMap.md)> | An array of detail objects for each gift card that was used on this payment, if any. | [optional] +**issuer** | Option<**String**> | For payments with vouchers: the brand name of the first voucher applied. | [optional] +**vouchers** | Option<[**Vec>**](std::collections::HashMap.md)> | An array of detail objects for each voucher that was used on this payment, if any. | [optional] +**remainder_amount** | Option<[**models::Amount**](amount.md)> | An amount object for the amount that remained after all gift cards or vouchers were applied. | [optional] +**remainder_method** | Option<**String**> | The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. | [optional] +**remainder_details** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | Optional include. The full payment method details of the remainder payment. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentDetailsQrCode.md b/docs/EntityPaymentDetailsQrCode.md new file mode 100644 index 0000000..c9155b6 --- /dev/null +++ b/docs/EntityPaymentDetailsQrCode.md @@ -0,0 +1,13 @@ +# EntityPaymentDetailsQrCode + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**height** | Option<**i32**> | The height of the QR code image in pixels. | [optional] +**width** | Option<**i32**> | The width of the QR code image in pixels. | [optional] +**src** | Option<**String**> | The URL to the QR code image. The image is a PNG file, and can be displayed directly in the browser or downloaded. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentDetailsReceipt.md b/docs/EntityPaymentDetailsReceipt.md new file mode 100644 index 0000000..0f5401a --- /dev/null +++ b/docs/EntityPaymentDetailsReceipt.md @@ -0,0 +1,14 @@ +# EntityPaymentDetailsReceipt + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**authorization_code** | Option<**String**> | A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. | [optional] +**application_identifier** | Option<**String**> | The unique number that identifies a specific payment application on a chip card. | [optional] +**card_read_method** | Option<[**models::PaymentDetailsReceiptCardReadMethod**](payment-details-receipt-card-read-method.md)> | | [optional] +**card_verification_method** | Option<[**models::PaymentDetailsReceiptCardVerificationMethod**](payment-details-receipt-card-verification-method.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentLinesInner.md b/docs/EntityPaymentLinesInner.md new file mode 100644 index 0000000..34183e9 --- /dev/null +++ b/docs/EntityPaymentLinesInner.md @@ -0,0 +1,24 @@ +# EntityPaymentLinesInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::PaymentLineType**](payment-line-type.md)> | | [optional] +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**quantity_unit** | Option<**String**> | The unit for the quantity. For example *pcs*, *kg*, or *cm*. | [optional] +**unit_price** | [**models::Amount**](amount.md) | The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. | +**discount_amount** | Option<[**models::Amount**](amount.md)> | Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. | [optional] +**total_amount** | [**models::Amount**](amount.md) | The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. | +**vat_rate** | Option<**String**> | The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. | [optional] +**vat_amount** | Option<[**models::Amount**](amount.md)> | The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. | [optional] +**sku** | Option<**String**> | The SKU, EAN, ISBN or UPC of the product sold. | [optional] +**categories** | Option<[**Vec**](line-categories.md)> | An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. | [optional] +**image_url** | Option<**String**> | A link pointing to an image of the product sold. | [optional] +**product_url** | Option<**String**> | A link pointing to the product page in your web shop of the product sold. | [optional] +**recurring** | Option<[**models::RecurringLineItem**](recurring-line-item.md)> | The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout to inform the shopper of the details for recurring products in the payments. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentLink.md b/docs/EntityPaymentLink.md new file mode 100644 index 0000000..32a6c61 --- /dev/null +++ b/docs/EntityPaymentLink.md @@ -0,0 +1,33 @@ +# EntityPaymentLink + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. | [optional] +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. | [optional] +**minimum_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. | [optional] +**archived** | Option<**bool**> | Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](payment-line-item-response.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**reusable** | Option<**bool**> | Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment link became paid, in ISO 8601 format. | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. | [optional] +**allowed_methods** | Option<**Vec**> | An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. | [optional] +**application_fee** | Option<[**models::CreatePaymentLinkRequestApplicationFee**](create_payment_link_request_applicationFee.md)> | | [optional] +**sequence_type** | Option<[**models::PaymentLinkSequenceTypeResponse**](payment-link-sequence-type-response.md)> | If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). | [optional] +**customer_id** | Option<**String**> | **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::CreatePaymentLinkRequestLinks**](create_payment_link_request__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentLinks.md b/docs/EntityPaymentLinks.md new file mode 100644 index 0000000..d30de47 --- /dev/null +++ b/docs/EntityPaymentLinks.md @@ -0,0 +1,27 @@ +# EntityPaymentLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**checkout** | Option<[**models::Url**](url.md)> | The URL your customer should visit to make the payment. This is where you should redirect the customer to. | [optional] +**mobile_app_checkout** | Option<[**models::Url**](url.md)> | The deeplink URL to the app of the payment method. Currently only available for `bancontact`. | [optional] +**change_payment_state** | Option<[**models::Url**](url.md)> | For test mode payments in certain scenarios, a hosted interface is available to help you test different payment states. Firstly, for recurring test mode payments. Recurring payments do not have a checkout URL, because these payments are executed without any user interaction. Secondly, for paid test mode payments. The payment state screen will then allow you to create a refund or chargeback for the test payment. | [optional] +**dashboard** | [**models::Url**](url.md) | Direct link to the payment in the Mollie Dashboard. | +**refunds** | Option<[**models::Url**](url.md)> | The API resource URL of the [refunds](list-payment-refunds) that belong to this payment. | [optional] +**chargebacks** | Option<[**models::Url**](url.md)> | The API resource URL of the [chargebacks](list-payment-chargebacks) that belong to this payment. | [optional] +**captures** | Option<[**models::Url**](url.md)> | The API resource URL of the [captures](list-payment-captures) that belong to this payment. | [optional] +**settlement** | Option<[**models::Url**](url.md)> | The API resource URL of the [settlement](get-settlement) this payment has been settled with. Not present if not yet settled. | [optional] +**customer** | Option<[**models::Url**](url.md)> | The API resource URL of the [customer](get-customer). | [optional] +**mandate** | Option<[**models::Url**](url.md)> | The API resource URL of the [mandate](get-mandate). | [optional] +**subscription** | Option<[**models::Url**](url.md)> | The API resource URL of the [subscription](get-subscription). | [optional] +**order** | Option<[**models::Url**](url.md)> | The API resource URL of the [order](get-order) this payment was created for. Not present if not created for an order. | [optional] +**terminal** | Option<[**models::Url**](url.md)> | The API resource URL of the [terminal](get-terminal) this payment was created for. Only present for point-of-sale payments. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] +**status** | Option<[**models::Url**](url.md)> | Link to customer-facing page showing the status of the bank transfer (to verify if the transaction was successful). | [optional] +**pay_online** | Option<[**models::Url**](url.md)> | Link to Mollie Checkout page allowing customers to select a different payment method instead of legacy bank transfer. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentResponse.md b/docs/EntityPaymentResponse.md new file mode 100644 index 0000000..75c9f95 --- /dev/null +++ b/docs/EntityPaymentResponse.md @@ -0,0 +1,58 @@ +# EntityPaymentResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. | [optional] +**amount_refunded** | Option<[**models::Amount**](amount.md)> | The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. | [optional][readonly] +**amount_remaining** | Option<[**models::Amount**](amount.md)> | The remaining amount that can be refunded. Only available when refunds are available for this payment. | [optional][readonly] +**amount_captured** | Option<[**models::Amount**](amount.md)> | The total amount that is already captured for this payment. Only available when this payment supports captures. | [optional][readonly] +**amount_charged_back** | Option<[**models::Amount**](amount.md)> | The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. | [optional][readonly] +**settlement_amount** | Option<[**models::Amount**](amount.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. | [optional] +**cancel_url** | Option<**String**> | The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](entity_payment_response_lines_inner.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::EntityPaymentBillingAddress**](entity_payment_billingAddress.md)> | | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. | [optional] +**country_code** | Option<**String**> | This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. | [optional][readonly] +**method** | Option<[**models::MethodResponse**](method-response.md)> | | [optional] +**issuer** | Option<**String**> | **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). | [optional] +**restrict_payment_methods_to_country** | Option<**String**> | For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**capture_mode** | Option<[**models::CaptureModeResponse**](capture-mode-response.md)> | | [optional] +**capture_delay** | Option<**String**> | **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` | [optional] +**capture_before** | Option<**String**> | Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**application_fee** | Option<[**models::EntityPaymentApplicationFee**](entity_payment_applicationFee.md)> | | [optional] +**routing** | Option<[**Vec**](entity-payment-route-response.md)> | *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. | [optional] +**sequence_type** | Option<[**models::SequenceTypeResponse**](sequence-type-response.md)> | **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. | [optional] +**subscription_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**customer_id** | Option<**String**> | | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**settlement_id** | Option<**String**> | | [optional] +**order_id** | Option<**String**> | | [optional] +**status** | Option<[**models::PaymentStatus**](payment-status.md)> | | [optional][readonly] +**status_reason** | Option<[**models::StatusReason**](status-reason.md)> | | [optional] +**is_cancelable** | Option<**bool**> | Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. | [optional][readonly] +**details** | Option<[**models::EntityPaymentResponseDetails**](entity_payment_response_details.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**authorized_at** | Option<**String**> | The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). | [optional][readonly] +**canceled_at** | Option<**String**> | The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. | [optional][readonly] +**expired_at** | Option<**String**> | The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). | [optional][readonly] +**failed_at** | Option<**String**> | The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). | [optional][readonly] +**due_date** | Option<**String**> | The date by which the payment should be completed in `YYYY-MM-DD` format | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityPaymentLinks**](entity_payment__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentResponseDetails.md b/docs/EntityPaymentResponseDetails.md new file mode 100644 index 0000000..c4a24f2 --- /dev/null +++ b/docs/EntityPaymentResponseDetails.md @@ -0,0 +1,60 @@ +# EntityPaymentResponseDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**consumer_name** | Option<**String**> | The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. | [optional] +**consumer_account** | Option<**String**> | The customer's account reference. For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number. For PayPal, the account reference is an email address. For card and Bancontact payments, refer to details.cardNumber. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank account, if applicable. | [optional] +**shipping_address** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail. | [optional] +**card_number** | Option<**String**> | For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. | [optional] +**bank_name** | Option<**String**> | The name of the bank that the customer will need to make the bank transfer payment towards. | [optional] +**bank_account** | Option<**String**> | The bank account number the customer will need to make the bank transfer payment towards. | [optional] +**bank_bic** | Option<**String**> | The BIC of the bank the customer will need to make the bank transfer payment towards. | [optional] +**transfer_reference** | Option<**String**> | The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is. | [optional] +**card_fingerprint** | Option<**String**> | A unique fingerprint for a specific card. Can be used to identify returning customers. In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, linking multiple transactions from wallets and physical card to a single account, also across payment methods or when the card is reissued. | [optional] +**card_holder** | Option<**String**> | The customer's name as shown on their card. | [optional] +**card_audition** | Option<[**models::PaymentDetailsCardAuditionResponse**](payment-details-card-audition-response.md)> | | [optional] +**card_label** | Option<[**models::PaymentDetailsCardLabelResponse**](payment-details-card-label-response.md)> | | [optional] +**card_country_code** | Option<**String**> | The ISO 3166-1 alpha-2 country code of the country the card was issued in. | [optional] +**card_expiry_date** | Option<**String**> | The expiry date (MM/YY) of the card as displayed on the card. | [optional] +**card_funding** | Option<[**models::PaymentDetailsCardFundingResponse**](payment-details-card-funding-response.md)> | | [optional] +**card_security** | Option<[**models::PaymentDetailsCardSecurityResponse**](payment-details-card-security-response.md)> | | [optional] +**fee_region** | Option<[**models::PaymentDetailsFeeRegionResponse**](payment-details-fee-region-response.md)> | | [optional] +**card_masked_number** | Option<**String**> | The first 6 and last 4 digits of the card number. | [optional] +**card3ds_eci** | Option<**String**> | The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). | [optional] +**card_bin** | Option<**String**> | The first 6 digit of the card bank identification number. | [optional] +**card_issuer** | Option<**String**> | The issuer of the Card. | [optional] +**failure_reason** | Option<[**models::PaymentDetailsFailureReasonResponse**](payment-details-failure-reason-response.md)> | | [optional] +**failure_message** | Option<**String**> | A human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting. | [optional] +**wallet** | Option<[**models::PaymentDetailsWalletResponse**](payment-details-wallet-response.md)> | | [optional] +**paypal_reference** | Option<**String**> | PayPal's reference for the payment. | [optional] +**paypal_payer_id** | Option<**String**> | ID of the customer's PayPal account. | [optional] +**seller_protection** | Option<[**models::PaymentDetailsSellerProtectionResponse**](payment-details-seller-protection-response.md)> | | [optional] +**paypal_fee** | Option<[**models::AmountNullable**](amount-nullable.md)> | An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction. | [optional] +**customer_reference** | Option<**String**> | The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. | [optional] +**terminal_id** | Option<**String**> | The ID of the terminal device where the payment took place on. | [optional] +**masked_number** | Option<**String**> | The first 6 digits & last 4 digits of the customer's masked card number. | [optional] +**receipt** | Option<[**models::EntityPaymentResponseDetailsReceipt**](entity_payment_response_details_receipt.md)> | | [optional] +**creditor_identifier** | Option<**String**> | The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie. | [optional] +**due_date** | Option<[**String**](string.md)> | Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. | [optional] +**signature_date** | Option<[**String**](string.md)> | Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment has been signed. | [optional] +**bank_reason_code** | Option<**String**> | The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council. | [optional] +**bank_reason** | Option<**String**> | A human-friendly description of the failure reason. | [optional] +**end_to_end_identifier** | Option<**String**> | The end-to-end identifier you provided in the batch file. | [optional] +**mandate_reference** | Option<**String**> | The mandate reference you provided in the batch file. | [optional] +**batch_reference** | Option<**String**> | The batch reference you provided in the batch file. | [optional] +**file_reference** | Option<**String**> | The file reference you provided in the batch file. | [optional] +**qr_code** | Option<[**models::EntityPaymentDetailsQrCode**](entity_payment_details_qrCode.md)> | | [optional] +**voucher_number** | Option<**String**> | For payments with gift cards: the masked gift card number of the first gift card applied to the payment. | [optional] +**giftcards** | Option<[**Vec>**](std::collections::HashMap.md)> | An array of detail objects for each gift card that was used on this payment, if any. | [optional] +**issuer** | Option<**String**> | For payments with vouchers: the brand name of the first voucher applied. | [optional] +**vouchers** | Option<[**Vec>**](std::collections::HashMap.md)> | An array of detail objects for each voucher that was used on this payment, if any. | [optional] +**remainder_amount** | Option<[**models::Amount**](amount.md)> | An amount object for the amount that remained after all gift cards or vouchers were applied. | [optional] +**remainder_method** | Option<**String**> | The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. | [optional] +**remainder_details** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | Optional include. The full payment method details of the remainder payment. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentResponseDetailsReceipt.md b/docs/EntityPaymentResponseDetailsReceipt.md new file mode 100644 index 0000000..e7f5b50 --- /dev/null +++ b/docs/EntityPaymentResponseDetailsReceipt.md @@ -0,0 +1,14 @@ +# EntityPaymentResponseDetailsReceipt + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**authorization_code** | Option<**String**> | A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. | [optional] +**application_identifier** | Option<**String**> | The unique number that identifies a specific payment application on a chip card. | [optional] +**card_read_method** | Option<[**models::PaymentDetailsReceiptCardReadMethodResponse**](payment-details-receipt-card-read-method-response.md)> | | [optional] +**card_verification_method** | Option<[**models::PaymentDetailsReceiptCardVerificationMethodResponse**](payment-details-receipt-card-verification-method-response.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentResponseLinesInner.md b/docs/EntityPaymentResponseLinesInner.md new file mode 100644 index 0000000..ef06023 --- /dev/null +++ b/docs/EntityPaymentResponseLinesInner.md @@ -0,0 +1,24 @@ +# EntityPaymentResponseLinesInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::PaymentLineTypeResponse**](payment-line-type-response.md)> | | [optional] +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**quantity_unit** | Option<**String**> | The unit for the quantity. For example *pcs*, *kg*, or *cm*. | [optional] +**unit_price** | [**models::Amount**](amount.md) | The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. | +**discount_amount** | Option<[**models::Amount**](amount.md)> | Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. | [optional] +**total_amount** | [**models::Amount**](amount.md) | The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. | +**vat_rate** | Option<**String**> | The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. | [optional] +**vat_amount** | Option<[**models::Amount**](amount.md)> | The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. | [optional] +**sku** | Option<**String**> | The SKU, EAN, ISBN or UPC of the product sold. | [optional] +**categories** | Option<[**Vec**](line-categories-response.md)> | An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. | [optional] +**image_url** | Option<**String**> | A link pointing to an image of the product sold. | [optional] +**product_url** | Option<**String**> | A link pointing to the product page in your web shop of the product sold. | [optional] +**recurring** | Option<[**models::RecurringLineItem**](recurring-line-item.md)> | The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout to inform the shopper of the details for recurring products in the payments. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentRoute.md b/docs/EntityPaymentRoute.md new file mode 100644 index 0000000..9f3094e --- /dev/null +++ b/docs/EntityPaymentRoute.md @@ -0,0 +1,18 @@ +# EntityPaymentRoute + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**amount** | [**models::Amount**](amount.md) | The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. | +**destination** | [**models::EntityPaymentRouteDestination**](entity_payment_route_destination.md) | | +**created_at** | **String** | The date and time when the route was created. The date is given in ISO 8601 format. | [readonly] +**release_date** | Option<**String**> | Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The date must be given in `YYYY-MM-DD` format. If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. | [optional] +**_links** | [**models::EntityPaymentRouteLinks**](entity_payment_route__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentRouteDestination.md b/docs/EntityPaymentRouteDestination.md new file mode 100644 index 0000000..92cf37c --- /dev/null +++ b/docs/EntityPaymentRouteDestination.md @@ -0,0 +1,12 @@ +# EntityPaymentRouteDestination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::RouteDestinationType**](route-destination-type.md) | | +**organization_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentRouteLinks.md b/docs/EntityPaymentRouteLinks.md new file mode 100644 index 0000000..fbba5e7 --- /dev/null +++ b/docs/EntityPaymentRouteLinks.md @@ -0,0 +1,12 @@ +# EntityPaymentRouteLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**payment** | [**models::Url**](url.md) | The API resource URL of the [payment](get-payment) that belong to this route. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentRouteResponse.md b/docs/EntityPaymentRouteResponse.md new file mode 100644 index 0000000..cad2725 --- /dev/null +++ b/docs/EntityPaymentRouteResponse.md @@ -0,0 +1,18 @@ +# EntityPaymentRouteResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**amount** | [**models::Amount**](amount.md) | The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. | +**destination** | [**models::EntityPaymentRouteResponseDestination**](entity_payment_route_response_destination.md) | | +**created_at** | **String** | The date and time when the route was created. The date is given in ISO 8601 format. | [readonly] +**release_date** | Option<**String**> | Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The date must be given in `YYYY-MM-DD` format. If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. | [optional] +**_links** | [**models::EntityPaymentRouteLinks**](entity_payment_route__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPaymentRouteResponseDestination.md b/docs/EntityPaymentRouteResponseDestination.md new file mode 100644 index 0000000..be2673f --- /dev/null +++ b/docs/EntityPaymentRouteResponseDestination.md @@ -0,0 +1,12 @@ +# EntityPaymentRouteResponseDestination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::RouteDestinationTypeResponse**](route-destination-type-response.md) | | +**organization_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityPermission.md b/docs/EntityPermission.md new file mode 100644 index 0000000..1e0dffa --- /dev/null +++ b/docs/EntityPermission.md @@ -0,0 +1,15 @@ +# EntityPermission + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a permission object. Will always contain the string `permission` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**description** | Option<**String**> | A short description of what kind of access the permission enables. | [optional][readonly] +**granted** | Option<**bool**> | Whether this permission is granted to the app by the organization. | [optional][readonly] +**_links** | Option<[**models::EntityBalanceLinks**](entity_balance__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityProfile.md b/docs/EntityProfile.md new file mode 100644 index 0000000..650cbf2 --- /dev/null +++ b/docs/EntityProfile.md @@ -0,0 +1,24 @@ +# EntityProfile + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`. | [optional][readonly] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. | [optional] +**website** | Option<**String**> | The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. | [optional] +**email** | Option<**String**> | The email address associated with the profile's trade name or brand. | [optional] +**phone** | Option<**String**> | The phone number associated with the profile's trade name or brand. | [optional] +**description** | Option<**String**> | The products or services offered by the profile's website or application. | [optional] +**countries_of_activity** | Option<**Vec**> | A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | [optional] +**business_category** | Option<**String**> | The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types#business-category) for all possible options. | [optional] +**status** | Option<[**models::ProfileStatus**](profile-status.md)> | | [optional][readonly] +**review** | Option<[**models::EntityProfileReview**](entity_profile_review.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityProfileLinks**](entity_profile__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityProfileLinks.md b/docs/EntityProfileLinks.md new file mode 100644 index 0000000..260aaf7 --- /dev/null +++ b/docs/EntityProfileLinks.md @@ -0,0 +1,18 @@ +# EntityProfileLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**dashboard** | Option<[**models::Url**](url.md)> | Link to the profile in the Mollie dashboard. | [optional] +**chargebacks** | Option<[**models::Url**](url.md)> | The API resource URL of the chargebacks that belong to this profile. | [optional] +**methods** | Option<[**models::Url**](url.md)> | The API resource URL of the methods that are enabled for this profile. | [optional] +**payments** | Option<[**models::Url**](url.md)> | The API resource URL of the payments that belong to this profile. | [optional] +**refunds** | Option<[**models::Url**](url.md)> | The API resource URL of the refunds that belong to this profile. | [optional] +**checkout_preview_url** | Option<[**models::Url**](url.md)> | The hosted checkout preview URL. You need to be logged in to access this page. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityProfileResponse.md b/docs/EntityProfileResponse.md new file mode 100644 index 0000000..082292d --- /dev/null +++ b/docs/EntityProfileResponse.md @@ -0,0 +1,24 @@ +# EntityProfileResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`. | [optional][readonly] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. | [optional] +**website** | Option<**String**> | The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. | [optional] +**email** | Option<**String**> | The email address associated with the profile's trade name or brand. | [optional] +**phone** | Option<**String**> | The phone number associated with the profile's trade name or brand. | [optional] +**description** | Option<**String**> | The products or services offered by the profile's website or application. | [optional] +**countries_of_activity** | Option<**Vec**> | A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | [optional] +**business_category** | Option<**String**> | The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types#business-category) for all possible options. | [optional] +**status** | Option<[**models::ProfileStatus**](profile-status.md)> | | [optional][readonly] +**review** | Option<[**models::EntityProfileResponseReview**](entity_profile_response_review.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityProfileLinks**](entity_profile__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityProfileResponseReview.md b/docs/EntityProfileResponseReview.md new file mode 100644 index 0000000..62907c9 --- /dev/null +++ b/docs/EntityProfileResponseReview.md @@ -0,0 +1,11 @@ +# EntityProfileResponseReview + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | Option<[**models::ProfileReviewStatusResponse**](profile-review-status-response.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityProfileReview.md b/docs/EntityProfileReview.md new file mode 100644 index 0000000..efcdd3c --- /dev/null +++ b/docs/EntityProfileReview.md @@ -0,0 +1,11 @@ +# EntityProfileReview + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | Option<[**models::ProfileReviewStatus**](profile-review-status.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefund.md b/docs/EntityRefund.md new file mode 100644 index 0000000..ba983cf --- /dev/null +++ b/docs/EntityRefund.md @@ -0,0 +1,26 @@ +# EntityRefund + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**description** | **String** | The description of the refund that may be shown to your customer, depending on the payment method used. | +**amount** | [**models::Amount**](amount.md) | The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. | +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | +**payment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**status** | [**models::RefundStatus**](refund-status.md) | | [readonly] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**external_reference** | Option<[**models::EntityRefundExternalReference**](entity_refund_externalReference.md)> | | [optional] +**reverse_routing** | Option<**bool**> | *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. | [optional] +**routing_reversals** | Option<[**Vec**](entity_refund_routingReversals_inner.md)> | *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | [**models::EntityRefundLinks**](entity_refund__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundExternalReference.md b/docs/EntityRefundExternalReference.md new file mode 100644 index 0000000..07c106c --- /dev/null +++ b/docs/EntityRefundExternalReference.md @@ -0,0 +1,12 @@ +# EntityRefundExternalReference + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::RefundExternalReferenceType**](refund-external-reference-type.md)> | | [optional] +**id** | Option<**String**> | Unique reference from the payment provider | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundLinks.md b/docs/EntityRefundLinks.md new file mode 100644 index 0000000..128a71e --- /dev/null +++ b/docs/EntityRefundLinks.md @@ -0,0 +1,14 @@ +# EntityRefundLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**payment** | [**models::Url**](url.md) | The API resource URL of the [payment](get-payment) that this refund belongs to. | +**settlement** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [settlement](get-settlement) this refund has been settled with. Not present if not yet settled. | [optional] +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundResponse.md b/docs/EntityRefundResponse.md new file mode 100644 index 0000000..58e3198 --- /dev/null +++ b/docs/EntityRefundResponse.md @@ -0,0 +1,26 @@ +# EntityRefundResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**description** | **String** | The description of the refund that may be shown to your customer, depending on the payment method used. | +**amount** | [**models::Amount**](amount.md) | The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. | +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | +**payment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**status** | [**models::RefundStatus**](refund-status.md) | | [readonly] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**external_reference** | Option<[**models::EntityRefundResponseExternalReference**](entity_refund_response_externalReference.md)> | | [optional] +**reverse_routing** | Option<**bool**> | *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. | [optional] +**routing_reversals** | Option<[**Vec**](entity_refund_routingReversals_inner.md)> | *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | [**models::EntityRefundLinks**](entity_refund__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundResponseExternalReference.md b/docs/EntityRefundResponseExternalReference.md new file mode 100644 index 0000000..3bcf642 --- /dev/null +++ b/docs/EntityRefundResponseExternalReference.md @@ -0,0 +1,12 @@ +# EntityRefundResponseExternalReference + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::RefundExternalReferenceTypeResponse**](refund-external-reference-type-response.md)> | | [optional] +**id** | Option<**String**> | Unique reference from the payment provider | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundRoutingReversalsInner.md b/docs/EntityRefundRoutingReversalsInner.md new file mode 100644 index 0000000..4dd5d85 --- /dev/null +++ b/docs/EntityRefundRoutingReversalsInner.md @@ -0,0 +1,12 @@ +# EntityRefundRoutingReversalsInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | Option<[**models::Amount**](amount.md)> | The amount that will be pulled back. | [optional] +**source** | Option<[**models::EntityRefundRoutingReversalsInnerSource**](entity_refund_routingReversals_inner_source.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRefundRoutingReversalsInnerSource.md b/docs/EntityRefundRoutingReversalsInnerSource.md new file mode 100644 index 0000000..d2b4082 --- /dev/null +++ b/docs/EntityRefundRoutingReversalsInnerSource.md @@ -0,0 +1,12 @@ +# EntityRefundRoutingReversalsInnerSource + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::RefundRoutingReversalsSourceType**](refund-routing-reversals-source-type.md)> | | [optional] +**organization_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRoute.md b/docs/EntityRoute.md new file mode 100644 index 0000000..99b8f4e --- /dev/null +++ b/docs/EntityRoute.md @@ -0,0 +1,18 @@ +# EntityRoute + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**payment_id** | Option<**String**> | | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount of the route. That amount that will be routed to the specified destination. | [optional] +**description** | Option<**String**> | The description of the route. This description is shown in the reports. | [optional] +**destination** | Option<[**models::EntityRouteDestination**](entity_route_destination.md)> | | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityWebhookLinks**](entity_webhook__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityRouteDestination.md b/docs/EntityRouteDestination.md new file mode 100644 index 0000000..9f0d6ea --- /dev/null +++ b/docs/EntityRouteDestination.md @@ -0,0 +1,12 @@ +# EntityRouteDestination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::RouteDestinationTypeResponse**](route-destination-type-response.md) | | +**organization_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySalesInvoice.md b/docs/EntitySalesInvoice.md new file mode 100644 index 0000000..104af6c --- /dev/null +++ b/docs/EntitySalesInvoice.md @@ -0,0 +1,39 @@ +# EntitySalesInvoice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**invoice_number** | Option<**String**> | When issued, an invoice number will be set for the sales invoice. | [optional][readonly] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**status** | Option<[**models::SalesInvoiceStatus**](sales-invoice-status.md)> | | [optional] +**vat_scheme** | Option<[**models::SalesInvoiceVatScheme**](sales-invoice-vat-scheme.md)> | | [optional] +**vat_mode** | Option<[**models::SalesInvoiceVatMode**](sales-invoice-vat-mode.md)> | | [optional] +**memo** | Option<**String**> | A free-form memo you can set on the invoice, and will be shown on the invoice PDF. | [optional] +**metadata** | Option<[**serde_json::Value**](.md)> | Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. | [optional] +**payment_term** | Option<[**models::SalesInvoicePaymentTerm**](sales-invoice-payment-term.md)> | | [optional] +**payment_details** | Option<[**models::SalesInvoicePaymentDetails**](sales-invoice-payment-details.md)> | Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. | [optional] +**email_details** | Option<[**models::SalesInvoiceEmailDetails**](sales-invoice-email-details.md)> | Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. | [optional] +**customer_id** | Option<**String**> | The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. | [optional] +**mandate_id** | Option<**String**> | The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, `customerId` becomes required as well. Only allowed for invoices with status `paid`. | [optional] +**recipient_identifier** | Option<**String**> | An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. | [optional] +**recipient** | Option<[**models::SalesInvoiceRecipient**](sales-invoice-recipient.md)> | | [optional] +**lines** | Option<[**Vec**](sales-invoice-line-item.md)> | Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. | [optional] +**discount** | Option<[**models::SalesInvoiceDiscount**](sales-invoice-discount.md)> | The discount to be applied to the entire invoice, applied on top of any line item discounts. | [optional] +**amount_due** | Option<[**models::Amount**](amount.md)> | The amount that is left to be paid. | [optional][readonly] +**subtotal_amount** | Option<[**models::Amount**](amount.md)> | The total amount without VAT before discounts. | [optional][readonly] +**total_amount** | Option<[**models::Amount**](amount.md)> | The total amount with VAT. | [optional][readonly] +**total_vat_amount** | Option<[**models::Amount**](amount.md)> | The total VAT amount. | [optional][readonly] +**discounted_subtotal_amount** | Option<[**models::Amount**](amount.md)> | The total amount without VAT after discounts. | [optional][readonly] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**issued_at** | Option<**String**> | If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**paid_at** | Option<**String**> | If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**due_at** | Option<**String**> | If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntitySalesInvoiceLinks**](entity_sales_invoice__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySalesInvoiceLinks.md b/docs/EntitySalesInvoiceLinks.md new file mode 100644 index 0000000..2f97c3b --- /dev/null +++ b/docs/EntitySalesInvoiceLinks.md @@ -0,0 +1,16 @@ +# EntitySalesInvoiceLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**invoice_payment** | Option<[**models::Url**](url.md)> | The URL your customer should visit to make payment for the invoice. This is where you should redirect the customer to unless the `status` is set to `paid`. | [optional] +**pdf_link** | Option<[**models::Url**](url.md)> | The URL the invoice is available at, if generated. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] +**next** | Option<[**models::Url**](url.md)> | | [optional] +**previous** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySalesInvoiceResponse.md b/docs/EntitySalesInvoiceResponse.md new file mode 100644 index 0000000..47da667 --- /dev/null +++ b/docs/EntitySalesInvoiceResponse.md @@ -0,0 +1,39 @@ +# EntitySalesInvoiceResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**invoice_number** | Option<**String**> | When issued, an invoice number will be set for the sales invoice. | [optional][readonly] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**status** | Option<[**models::SalesInvoiceStatusResponse**](sales-invoice-status-response.md)> | | [optional] +**vat_scheme** | Option<[**models::SalesInvoiceVatSchemeResponse**](sales-invoice-vat-scheme-response.md)> | | [optional] +**vat_mode** | Option<[**models::SalesInvoiceVatModeResponse**](sales-invoice-vat-mode-response.md)> | | [optional] +**memo** | Option<**String**> | A free-form memo you can set on the invoice, and will be shown on the invoice PDF. | [optional] +**metadata** | Option<[**serde_json::Value**](.md)> | Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. | [optional] +**payment_term** | Option<[**models::SalesInvoicePaymentTermResponse**](sales-invoice-payment-term-response.md)> | | [optional] +**payment_details** | Option<[**models::SalesInvoicePaymentDetailsResponse**](sales-invoice-payment-details-response.md)> | Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. | [optional] +**email_details** | Option<[**models::SalesInvoiceEmailDetails**](sales-invoice-email-details.md)> | Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. | [optional] +**customer_id** | Option<**String**> | The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. | [optional] +**mandate_id** | Option<**String**> | The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, `customerId` becomes required as well. Only allowed for invoices with status `paid`. | [optional] +**recipient_identifier** | Option<**String**> | An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. | [optional] +**recipient** | Option<[**models::SalesInvoiceRecipientResponse**](sales-invoice-recipient-response.md)> | | [optional] +**lines** | Option<[**Vec**](sales-invoice-line-item-response.md)> | Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. | [optional] +**discount** | Option<[**models::SalesInvoiceDiscountResponse**](sales-invoice-discount-response.md)> | The discount to be applied to the entire invoice, applied on top of any line item discounts. | [optional] +**amount_due** | Option<[**models::Amount**](amount.md)> | The amount that is left to be paid. | [optional][readonly] +**subtotal_amount** | Option<[**models::Amount**](amount.md)> | The total amount without VAT before discounts. | [optional][readonly] +**total_amount** | Option<[**models::Amount**](amount.md)> | The total amount with VAT. | [optional][readonly] +**total_vat_amount** | Option<[**models::Amount**](amount.md)> | The total VAT amount. | [optional][readonly] +**discounted_subtotal_amount** | Option<[**models::Amount**](amount.md)> | The total amount without VAT after discounts. | [optional][readonly] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**issued_at** | Option<**String**> | If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**paid_at** | Option<**String**> | If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**due_at** | Option<**String**> | If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntitySalesInvoiceLinks**](entity_sales_invoice__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlement.md b/docs/EntitySettlement.md new file mode 100644 index 0000000..e9e0794 --- /dev/null +++ b/docs/EntitySettlement.md @@ -0,0 +1,21 @@ +# EntitySettlement + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a settlement object. Will always contain the string `settlement` for this endpoint. | [readonly] +**id** | **String** | | +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**reference** | Option<**String**> | The settlement's bank reference, as found in your Mollie account and on your bank statement. | [optional][readonly] +**settled_at** | Option<**String**> | The date on which the settlement was settled, in ISO 8601 format. For an [open settlement](get-open-settlement) or for the [next settlement](get-next-settlement), no settlement date is available. | [optional][readonly] +**status** | [**models::SettlementStatus**](settlement-status.md) | | [readonly] +**amount** | [**models::Amount**](amount.md) | The total amount of the settlement. | [readonly] +**balance_id** | **String** | | +**invoice_id** | Option<**String**> | | [optional] +**periods** | Option<[**std::collections::HashMap>**](std::collections::HashMap.md)> | For bookkeeping purposes, the settlement includes an overview of transactions included in the settlement. These transactions are grouped into 'period' objects — one for each calendar month. For example, if a settlement includes funds from 15 April until 4 May, it will include two period objects. One for all transactions processed between 15 April and 30 April, and one for all transactions between 1 May and 4 May. Period objects are grouped by year, and then by month. So in the above example, the full `periods` collection will look as follows: `{\"2024\": {\"04\": {...}, \"05\": {...}}}`. The year and month in this documentation are referred as `` and ``. The example response should give a good idea of what this looks like in practise. | [optional][readonly] +**_links** | [**models::EntitySettlementLinks**](entity_settlement__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlementLinks.md b/docs/EntitySettlementLinks.md new file mode 100644 index 0000000..8aa325e --- /dev/null +++ b/docs/EntitySettlementLinks.md @@ -0,0 +1,17 @@ +# EntitySettlementLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**payments** | Option<[**models::Url**](url.md)> | The API resource URL of the [payments](list-payments) included in this settlement. | [optional] +**captures** | Option<[**models::Url**](url.md)> | The API resource URL of the [captures](list-captures) included in this settlement. | [optional] +**refunds** | Option<[**models::Url**](url.md)> | The API resource URL of the [refunds](list-refunds) deducted from this settlement. | [optional] +**chargebacks** | Option<[**models::Url**](url.md)> | The API resource URL of the [chargebacks](list-chargebacks) deducted from this settlement. | [optional] +**invoice** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [invoice](list-invoices). | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlementPeriodsValueValue.md b/docs/EntitySettlementPeriodsValueValue.md new file mode 100644 index 0000000..4d62a5f --- /dev/null +++ b/docs/EntitySettlementPeriodsValueValue.md @@ -0,0 +1,14 @@ +# EntitySettlementPeriodsValueValue + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**costs** | Option<[**Vec**](entity_settlement_periods_value_value_costs_inner.md)> | An array of cost objects, describing the fees withheld for each payment method during this period. | [optional] +**revenue** | Option<[**Vec**](entity_settlement_periods_value_value_revenue_inner.md)> | An array of revenue objects containing the total revenue for each payment method during this period. | [optional] +**invoice_id** | Option<**String**> | | [optional] +**invoice_reference** | Option<**String**> | The invoice reference, if the invoice has been created already. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlementPeriodsValueValueCostsInner.md b/docs/EntitySettlementPeriodsValueValueCostsInner.md new file mode 100644 index 0000000..045846e --- /dev/null +++ b/docs/EntitySettlementPeriodsValueValueCostsInner.md @@ -0,0 +1,17 @@ +# EntitySettlementPeriodsValueValueCostsInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | A description of the cost subtotal | +**method** | Option<[**models::PaymentMethod**](payment-method.md)> | | +**count** | **i32** | The number of fees | +**rate** | [**models::EntitySettlementPeriodsValueValueCostsInnerRate**](entity_settlement_periods_value_value_costs_inner_rate.md) | | +**amount_net** | [**models::Amount**](amount.md) | The net total cost, i.e. excluding VAT | +**amount_vat** | [**models::AmountNullable**](amount-nullable.md) | The applicable VAT | +**amount_gross** | [**models::Amount**](amount.md) | The gross total cost, i.e. including VAT | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlementPeriodsValueValueCostsInnerRate.md b/docs/EntitySettlementPeriodsValueValueCostsInnerRate.md new file mode 100644 index 0000000..1387197 --- /dev/null +++ b/docs/EntitySettlementPeriodsValueValueCostsInnerRate.md @@ -0,0 +1,12 @@ +# EntitySettlementPeriodsValueValueCostsInnerRate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fixed** | Option<[**models::Amount**](amount.md)> | | [optional] +**percentage** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySettlementPeriodsValueValueRevenueInner.md b/docs/EntitySettlementPeriodsValueValueRevenueInner.md new file mode 100644 index 0000000..16aa1ea --- /dev/null +++ b/docs/EntitySettlementPeriodsValueValueRevenueInner.md @@ -0,0 +1,16 @@ +# EntitySettlementPeriodsValueValueRevenueInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | A description of the revenue subtotal | +**method** | Option<[**models::PaymentMethod**](payment-method.md)> | | +**count** | **i32** | The number of payments | +**amount_net** | [**models::Amount**](amount.md) | The net total of received funds, i.e. excluding VAT | +**amount_vat** | [**models::AmountNullable**](amount-nullable.md) | The applicable VAT | +**amount_gross** | [**models::Amount**](amount.md) | The gross total of received funds, i.e. including VAT | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySubscription.md b/docs/EntitySubscription.md new file mode 100644 index 0000000..97e9ee6 --- /dev/null +++ b/docs/EntitySubscription.md @@ -0,0 +1,31 @@ +# EntitySubscription + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**status** | Option<[**models::SubscriptionStatus**](subscription-status.md)> | | [optional][readonly] +**amount** | Option<[**models::Amount**](amount.md)> | The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. | [optional] +**times** | Option<**i32**> | Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. | [optional] +**times_remaining** | Option<**i32**> | Number of payments left for the subscription. | [optional][readonly] +**interval** | Option<**String**> | Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. | [optional] +**start_date** | Option<**String**> | The start date of the subscription in `YYYY-MM-DD` format. | [optional] +**next_payment_date** | Option<**String**> | The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. | [optional][readonly] +**description** | Option<**String**> | The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. | [optional] +**method** | Option<[**models::SubscriptionMethodResponse**](subscription-method-response.md)> | | [optional] +**application_fee** | Option<[**models::EntitySubscriptionApplicationFee**](entity_subscription_applicationFee.md)> | | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. | [optional] +**webhook_url** | Option<**String**> | We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. | [optional] +**customer_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**canceled_at** | Option<**String**> | The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntitySubscriptionLinks**](entity_subscription__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySubscriptionApplicationFee.md b/docs/EntitySubscriptionApplicationFee.md new file mode 100644 index 0000000..8cdb9fe --- /dev/null +++ b/docs/EntitySubscriptionApplicationFee.md @@ -0,0 +1,12 @@ +# EntitySubscriptionApplicationFee + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | [**models::Amount**](amount.md) | | +**description** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntitySubscriptionLinks.md b/docs/EntitySubscriptionLinks.md new file mode 100644 index 0000000..52366dd --- /dev/null +++ b/docs/EntitySubscriptionLinks.md @@ -0,0 +1,16 @@ +# EntitySubscriptionLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**customer** | [**models::UrlNullable**](url-nullable.md) | The API resource URL of the [customer](get-customer) this subscription was created for. | +**mandate** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [mandate](get-mandate) this subscription was created for. | [optional] +**profile** | [**models::UrlNullable**](url-nullable.md) | The API resource URL of the [profile](get-profile) this subscription was created for. | +**payments** | Option<[**models::UrlNullable**](url-nullable.md)> | The API resource URL of the [payments](list-payments) created for this subscription. Omitted if no such payments exist (yet). | [optional] +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityTerminal.md b/docs/EntityTerminal.md new file mode 100644 index 0000000..9744632 --- /dev/null +++ b/docs/EntityTerminal.md @@ -0,0 +1,23 @@ +# EntityTerminal + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**description** | **String** | A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it may be visible on the device itself depending on the device. | +**status** | [**models::TerminalStatus**](terminal-status.md) | | [readonly] +**brand** | Option<[**models::TerminalBrand**](terminal-brand.md)> | | +**model** | Option<[**models::TerminalModel**](terminal-model.md)> | | +**serial_number** | Option<**String**> | The serial number of the terminal. The serial number is provided at terminal creation time. | +**currency** | **String** | The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a specific currency, chosen during setup. | +**profile_id** | **String** | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**updated_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | +**_links** | [**models::EntityWebhookLinks**](entity_webhook__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhook.md b/docs/EntityWebhook.md new file mode 100644 index 0000000..b0fdcf8 --- /dev/null +++ b/docs/EntityWebhook.md @@ -0,0 +1,20 @@ +# EntityWebhook + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a webhook subscription object. Will always contain the string `webhook` for this endpoint. | [readonly] +**id** | **String** | The identifier uniquely referring to this subscription. | [readonly] +**url** | **String** | The subscription's events destination. | +**profile_id** | Option<**String**> | The identifier uniquely referring to the profile that created the subscription. | [readonly] +**created_at** | **String** | The subscription's date time of creation. | [readonly] +**name** | **String** | The subscription's name. | +**event_types** | [**Vec**](webhook-event-types-response.md) | The events types that are subscribed. | +**status** | [**models::WebhookStatus**](webhook-status.md) | | +**mode** | [**models::Mode**](mode.md) | | +**_links** | [**models::EntityWebhookLinks**](entity_webhook__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhookEvent.md b/docs/EntityWebhookEvent.md new file mode 100644 index 0000000..4dd8e14 --- /dev/null +++ b/docs/EntityWebhookEvent.md @@ -0,0 +1,17 @@ +# EntityWebhookEvent + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint. | [readonly] +**id** | **String** | The identifier uniquely referring to this event. | [readonly] +**r#type** | [**models::WebhookEventTypesResponse**](webhook-event-types-response.md) | | [readonly] +**entity_id** | **String** | The entity token that triggered the event | [readonly] +**created_at** | **String** | The event's date time of creation. | [readonly] +**_embedded** | Option<[**models::EntityWebhookEventEmbedded**](entity_webhook_event__embedded.md)> | | [optional] +**_links** | [**models::EntityWebhookEventLinks**](entity_webhook_event__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhookEventEmbedded.md b/docs/EntityWebhookEventEmbedded.md new file mode 100644 index 0000000..50fc7d3 --- /dev/null +++ b/docs/EntityWebhookEventEmbedded.md @@ -0,0 +1,11 @@ +# EntityWebhookEventEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**entity** | Option<[**models::EntityWebhookEventEmbeddedEntity**](entity_webhook_event__embedded_entity.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhookEventEmbeddedEntity.md b/docs/EntityWebhookEventEmbeddedEntity.md new file mode 100644 index 0000000..d5bd2d0 --- /dev/null +++ b/docs/EntityWebhookEventEmbeddedEntity.md @@ -0,0 +1,12 @@ +# EntityWebhookEventEmbeddedEntity + +## Enum Variants + +| Name | Description | +|---- | -----| +| EntityProfileResponse | | +| PaymentLinkResponse | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhookEventLinks.md b/docs/EntityWebhookEventLinks.md new file mode 100644 index 0000000..c6df5dd --- /dev/null +++ b/docs/EntityWebhookEventLinks.md @@ -0,0 +1,13 @@ +# EntityWebhookEventLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**documentation** | [**models::Url**](url.md) | | +**entity** | Option<[**models::Url**](url.md)> | The API resource URL of the entity that this event belongs to. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EntityWebhookLinks.md b/docs/EntityWebhookLinks.md new file mode 100644 index 0000000..7a0e94b --- /dev/null +++ b/docs/EntityWebhookLinks.md @@ -0,0 +1,12 @@ +# EntityWebhookLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ErrorResponse.md b/docs/ErrorResponse.md new file mode 100644 index 0000000..461a1ee --- /dev/null +++ b/docs/ErrorResponse.md @@ -0,0 +1,15 @@ +# ErrorResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **i32** | The status code of the error message. This is always the same code as the status code of the HTTP message itself. | +**title** | **String** | The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`. | +**detail** | **String** | A detailed human-readable description of the error that occurred. | +**field** | Option<**String**> | If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue. | [optional] +**_links** | [**models::ErrorResponseLinks**](error_response__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ErrorResponseLinks.md b/docs/ErrorResponseLinks.md new file mode 100644 index 0000000..a13b12a --- /dev/null +++ b/docs/ErrorResponseLinks.md @@ -0,0 +1,11 @@ +# ErrorResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**documentation** | [**models::ErrorResponseLinksDocumentation**](error_response__links_documentation.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ErrorResponseLinksDocumentation.md b/docs/ErrorResponseLinksDocumentation.md new file mode 100644 index 0000000..bf2410c --- /dev/null +++ b/docs/ErrorResponseLinksDocumentation.md @@ -0,0 +1,12 @@ +# ErrorResponseLinksDocumentation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **String** | | +**r#type** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraParameterParameters.md b/docs/ExtraParameterParameters.md new file mode 100644 index 0000000..f4f8964 --- /dev/null +++ b/docs/ExtraParameterParameters.md @@ -0,0 +1,21 @@ +# ExtraParameterParameters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apple_pay_payment_token** | Option<**String**> | The Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. The token contains the payment information needed to authorize the payment. The object should be passed encoded in a JSON string. | [optional] +**company** | Option<[**models::ExtraParameterParametersCompany**](extra_parameter_parameters_company.md)> | | [optional] +**card_token** | Option<**String**> | When creating credit card payments using Mollie Components, you need to provide the card token you received from the card component in this field. The token represents the customer's card information needed to complete the payment. Note: field only valid for oneoff and first payments. For recurring payments, the customerId alone is enough. | [optional] +**voucher_number** | Option<**String**> | The card token you received from the card component of Mollie Components. The token represents the customer's card information needed to complete the payment. | [optional] +**voucher_pin** | Option<**String**> | The PIN on the gift card. You can supply this to prefill the PIN, if the card has any. | [optional] +**consumer_date_of_birth** | Option<[**String**](string.md)> | The customer's date of birth. If not provided via the API, iDeal in3 will ask the customer to provide it during the payment process. | [optional] +**extra_merchant_data** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | For some industries, additional purchase information can be sent to Klarna to increase the authorization rate. You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation. | [optional] +**session_id** | Option<**String**> | The unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an on-demand payment. | [optional] +**digital_goods** | Option<**bool**> | Indicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information. | [optional] +**customer_reference** | Option<**String**> | Used by paysafecard for customer identification across payments. When you generate a customer reference yourself, make sure not to put personal identifiable information or IP addresses in the customer reference directly. | [optional] +**terminal_id** | Option<**String**> | The ID of the terminal device where you want to initiate the payment on. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExtraParameterParametersCompany.md b/docs/ExtraParameterParametersCompany.md new file mode 100644 index 0000000..ba3c6e0 --- /dev/null +++ b/docs/ExtraParameterParametersCompany.md @@ -0,0 +1,13 @@ +# ExtraParameterParametersCompany + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**registration_number** | Option<**String**> | The organization's registration number. | [optional] +**vat_number** | Option<**String**> | The organization's VAT number. | [optional] +**entity_type** | Option<**String**> | The organization's entity type. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetCustomer200Response.md b/docs/GetCustomer200Response.md new file mode 100644 index 0000000..f6d04e4 --- /dev/null +++ b/docs/GetCustomer200Response.md @@ -0,0 +1,21 @@ +# GetCustomer200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**name** | Option<**String**> | The full name of the customer. | [optional] +**email** | Option<**String**> | The email address of the customer. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityCustomerLinks**](entity_customer__links.md)> | | [optional] +**events** | Option<[**Vec**](entity-event.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetPartnerStatus200Response.md b/docs/GetPartnerStatus200Response.md new file mode 100644 index 0000000..8ea382c --- /dev/null +++ b/docs/GetPartnerStatus200Response.md @@ -0,0 +1,18 @@ +# GetPartnerStatus200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a partner status object. Will always contain the string `partner` for this endpoint. | [readonly] +**partner_type** | Option<**String**> | Indicates the type of partner. Will be `null` if the currently authenticated organization is not enrolled as a partner. | [readonly] +**is_commission_partner** | Option<**bool**> | Whether the current organization is receiving commissions. | [optional][readonly] +**user_agent_tokens** | Option<[**Vec**](get_partner_status_200_response_userAgentTokens_inner.md)> | Array of User-Agent token objects. Present if the organization is a partner of type `useragent`, or if they were in the past. | [optional] +**partner_contract_signed_at** | Option<**String**> | The date the partner contract was signed, in ISO 8601 format. Omitted if no contract has been signed (yet). | [optional][readonly] +**partner_contract_update_available** | Option<**bool**> | Whether an update to the partner contract is available and requiring the organization's agreement. | [optional][readonly] +**partner_contract_expires_at** | Option<**String**> | The expiration date of the signed partner contract, in ISO 8601 format. Omitted if contract has no expiration date (yet). | [optional][readonly] +**_links** | Option<[**models::GetPartnerStatus200ResponseLinks**](get_partner_status_200_response__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetPartnerStatus200ResponseLinks.md b/docs/GetPartnerStatus200ResponseLinks.md new file mode 100644 index 0000000..5773be6 --- /dev/null +++ b/docs/GetPartnerStatus200ResponseLinks.md @@ -0,0 +1,13 @@ +# GetPartnerStatus200ResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | | [optional] +**signuplink** | Option<[**models::Url**](url.md)> | The URL that can be used to have new organizations sign up and be automatically linked to this partner. Will be omitted if the partner is not of type `signuplink`. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetPartnerStatus200ResponseUserAgentTokensInner.md b/docs/GetPartnerStatus200ResponseUserAgentTokensInner.md new file mode 100644 index 0000000..61c3ee3 --- /dev/null +++ b/docs/GetPartnerStatus200ResponseUserAgentTokensInner.md @@ -0,0 +1,13 @@ +# GetPartnerStatus200ResponseUserAgentTokensInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | Option<**String**> | The unique User-Agent token. | [optional] +**starts_at** | Option<**String**> | The date from which the token is active, in ISO 8601 format. | [optional] +**ends_at** | Option<**String**> | The date until when the token will be active, in ISO 8601 format. Will be `null` if the token does not have an end date (yet). | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Giftcard.md b/docs/Giftcard.md new file mode 100644 index 0000000..f4d4f17 --- /dev/null +++ b/docs/Giftcard.md @@ -0,0 +1,15 @@ +# Giftcard + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this endpoint. | [readonly] +**id** | **String** | The unique identifier of the payment method issuer. | [readonly] +**description** | **String** | The full name of the payment method issuer. | [readonly] +**status** | [**models::MethodIssuerStatus**](method-issuer-status.md) | | [readonly] +**_links** | [**models::EntityBalanceLinks**](entity_balance__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvoiceStatus.md b/docs/InvoiceStatus.md new file mode 100644 index 0000000..74b4a15 --- /dev/null +++ b/docs/InvoiceStatus.md @@ -0,0 +1,14 @@ +# InvoiceStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Open | open | +| Paid | paid | +| Overdue | overdue | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InvoicesApiApi.md b/docs/InvoicesApiApi.md new file mode 100644 index 0000000..01eea67 --- /dev/null +++ b/docs/InvoicesApiApi.md @@ -0,0 +1,77 @@ +# \InvoicesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_invoice**](InvoicesApiApi.md#get_invoice) | **GET** /invoices/{id} | Get invoice +[**list_invoices**](InvoicesApiApi.md#list_invoices) | **GET** /invoices | List invoices + + + +## get_invoice + +> models::EntityInvoice get_invoice(id, idempotency_key) +Get invoice + +Retrieve a single invoice by its ID. If you want to retrieve the details of an invoice by its invoice number, call the [List invoices](list-invoices) endpoint with the `reference` parameter. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityInvoice**](entity-invoice.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_invoices + +> models::ListInvoices200Response list_invoices(reference, year, month, from, limit, sort, idempotency_key) +List invoices + +Retrieve a list of all your invoices, optionally filtered by year or by invoice reference. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**reference** | Option<**String**> | Filter for an invoice with a specific invoice reference, for example `2024.10000`. | | +**year** | Option<**String**> | Filter for invoices of a specific year, for example `2024`. | | +**month** | Option<**String**> | Filter for invoices of a specific month, for example `01`. | | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListInvoices200Response**](list_invoices_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/LineCategories.md b/docs/LineCategories.md new file mode 100644 index 0000000..c142cf7 --- /dev/null +++ b/docs/LineCategories.md @@ -0,0 +1,17 @@ +# LineCategories + +## Enum Variants + +| Name | Value | +|---- | -----| +| Eco | eco | +| Gift | gift | +| Meal | meal | +| SportCulture | sport_culture | +| Additional | additional | +| Consume | consume | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LineCategoriesResponse.md b/docs/LineCategoriesResponse.md new file mode 100644 index 0000000..b99209f --- /dev/null +++ b/docs/LineCategoriesResponse.md @@ -0,0 +1,17 @@ +# LineCategoriesResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Eco | eco | +| Gift | gift | +| Meal | meal | +| SportCulture | sport_culture | +| Additional | additional | +| Consume | consume | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListAllMethods200Response.md b/docs/ListAllMethods200Response.md new file mode 100644 index 0000000..4d5369e --- /dev/null +++ b/docs/ListAllMethods200Response.md @@ -0,0 +1,13 @@ +# ListAllMethods200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of payment method objects in this result set. Results are **not** paginated. | +**_embedded** | [**models::ListAllMethods200ResponseEmbedded**](list_all_methods_200_response__embedded.md) | | +**_links** | [**models::ListMethods200ResponseLinks**](list_methods_200_response__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListAllMethods200ResponseEmbedded.md b/docs/ListAllMethods200ResponseEmbedded.md new file mode 100644 index 0000000..b5f2521 --- /dev/null +++ b/docs/ListAllMethods200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListAllMethods200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**methods** | [**Vec**](entity-method-all.md) | An array of payment method objects. For a complete reference of the payment method object, refer to the [Get payment method endpoint](get-method) documentation. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListAllSubscriptions200Response.md b/docs/ListAllSubscriptions200Response.md new file mode 100644 index 0000000..ab5f540 --- /dev/null +++ b/docs/ListAllSubscriptions200Response.md @@ -0,0 +1,13 @@ +# ListAllSubscriptions200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListAllSubscriptions200ResponseEmbedded**](list_all_subscriptions_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListAllSubscriptions200ResponseEmbedded.md b/docs/ListAllSubscriptions200ResponseEmbedded.md new file mode 100644 index 0000000..c0c0741 --- /dev/null +++ b/docs/ListAllSubscriptions200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListAllSubscriptions200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**subscriptions** | Option<[**Vec**](subscription-response.md)> | A list of subscription objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListBalanceTransactions200Response.md b/docs/ListBalanceTransactions200Response.md new file mode 100644 index 0000000..fdb05ca --- /dev/null +++ b/docs/ListBalanceTransactions200Response.md @@ -0,0 +1,13 @@ +# ListBalanceTransactions200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListBalanceTransactions200ResponseEmbedded**](list_balance_transactions_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListBalanceTransactions200ResponseEmbedded.md b/docs/ListBalanceTransactions200ResponseEmbedded.md new file mode 100644 index 0000000..c15e9f2 --- /dev/null +++ b/docs/ListBalanceTransactions200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListBalanceTransactions200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**balance_transactions** | Option<[**Vec**](entity-balance-transaction.md)> | An array of balance transaction objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListBalances200Response.md b/docs/ListBalances200Response.md new file mode 100644 index 0000000..77b9e0b --- /dev/null +++ b/docs/ListBalances200Response.md @@ -0,0 +1,13 @@ +# ListBalances200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListBalances200ResponseEmbedded**](list_balances_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListBalances200ResponseEmbedded.md b/docs/ListBalances200ResponseEmbedded.md new file mode 100644 index 0000000..c4bb6d1 --- /dev/null +++ b/docs/ListBalances200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListBalances200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**balances** | Option<[**Vec**](entity-balance.md)> | An array of balance objects. For a complete reference of the balance object, refer to the [Get balance endpoint](get-balance) documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCapabilities200Response.md b/docs/ListCapabilities200Response.md new file mode 100644 index 0000000..0ff1c9c --- /dev/null +++ b/docs/ListCapabilities200Response.md @@ -0,0 +1,13 @@ +# ListCapabilities200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. | [optional] +**_embedded** | Option<[**models::ListCapabilities200ResponseEmbedded**](list_capabilities_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListCapabilities200ResponseLinks**](list_capabilities_200_response__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCapabilities200ResponseEmbedded.md b/docs/ListCapabilities200ResponseEmbedded.md new file mode 100644 index 0000000..9fd6e06 --- /dev/null +++ b/docs/ListCapabilities200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListCapabilities200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**capabilities** | Option<[**Vec**](entity-capability.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCapabilities200ResponseLinks.md b/docs/ListCapabilities200ResponseLinks.md new file mode 100644 index 0000000..48696d9 --- /dev/null +++ b/docs/ListCapabilities200ResponseLinks.md @@ -0,0 +1,11 @@ +# ListCapabilities200ResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**documentation** | Option<[**models::ListCapabilities200ResponseLinksDocumentation**](list_capabilities_200_response__links_documentation.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCapabilities200ResponseLinksDocumentation.md b/docs/ListCapabilities200ResponseLinksDocumentation.md new file mode 100644 index 0000000..adcb0d4 --- /dev/null +++ b/docs/ListCapabilities200ResponseLinksDocumentation.md @@ -0,0 +1,12 @@ +# ListCapabilities200ResponseLinksDocumentation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | Option<**String**> | | [optional] +**r#type** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListClients200Response.md b/docs/ListClients200Response.md new file mode 100644 index 0000000..8ea4093 --- /dev/null +++ b/docs/ListClients200Response.md @@ -0,0 +1,13 @@ +# ListClients200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListClients200ResponseEmbedded**](list_clients_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListClients200ResponseEmbedded.md b/docs/ListClients200ResponseEmbedded.md new file mode 100644 index 0000000..f8ee33a --- /dev/null +++ b/docs/ListClients200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListClients200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clients** | Option<[**Vec**](list_clients_200_response__embedded_clients_inner.md)> | An array of client objects. For a complete reference of the client object, refer to the [Get client endpoint](get-client) documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListClients200ResponseEmbeddedClientsInner.md b/docs/ListClients200ResponseEmbeddedClientsInner.md new file mode 100644 index 0000000..90bc991 --- /dev/null +++ b/docs/ListClients200ResponseEmbeddedClientsInner.md @@ -0,0 +1,16 @@ +# ListClients200ResponseEmbeddedClientsInner + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a client object. Will always contain the string `client` for this resource type. | [optional][readonly] +**id** | Option<**String**> | The identifier uniquely referring to this client. Example: `org_12345678`. | [optional][readonly] +**commission** | Option<[**models::EntityClientCommission**](entity_client_commission.md)> | | [optional] +**organization_created_at** | Option<**String**> | The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**_links** | Option<[**models::EntityClientLinks**](entity_client__links.md)> | | [optional] +**_embedded** | Option<[**models::ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded**](list_clients_200_response__embedded_clients_inner_allOf__embedded.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded.md b/docs/ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded.md new file mode 100644 index 0000000..5cdb13a --- /dev/null +++ b/docs/ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded.md @@ -0,0 +1,13 @@ +# ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | Option<[**models::EntityOrganization**](entity-organization.md)> | | [optional] +**onboarding** | Option<[**models::EntityOnboardingStatus**](entity-onboarding-status.md)> | | [optional] +**capabilities** | Option<[**models::EntityCapability**](entity-capability.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListConnectBalanceTransfers200Response.md b/docs/ListConnectBalanceTransfers200Response.md new file mode 100644 index 0000000..aac55f2 --- /dev/null +++ b/docs/ListConnectBalanceTransfers200Response.md @@ -0,0 +1,13 @@ +# ListConnectBalanceTransfers200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListConnectBalanceTransfers200ResponseEmbedded**](list_connect_balance_transfers_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListConnectBalanceTransfers200ResponseEmbedded.md b/docs/ListConnectBalanceTransfers200ResponseEmbedded.md new file mode 100644 index 0000000..7e2be9e --- /dev/null +++ b/docs/ListConnectBalanceTransfers200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListConnectBalanceTransfers200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connect_balance_transfers** | [**Vec**](entity-balance-transfer-response.md) | A list of Connect balance transfers. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCustomers200Response.md b/docs/ListCustomers200Response.md new file mode 100644 index 0000000..ac73a21 --- /dev/null +++ b/docs/ListCustomers200Response.md @@ -0,0 +1,13 @@ +# ListCustomers200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListCustomers200ResponseEmbedded**](list_customers_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListCustomers200ResponseEmbedded.md b/docs/ListCustomers200ResponseEmbedded.md new file mode 100644 index 0000000..d1edb7a --- /dev/null +++ b/docs/ListCustomers200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListCustomers200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customers** | [**Vec**](customer-response.md) | An array of customer objects. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListInvoices200Response.md b/docs/ListInvoices200Response.md new file mode 100644 index 0000000..daae376 --- /dev/null +++ b/docs/ListInvoices200Response.md @@ -0,0 +1,13 @@ +# ListInvoices200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListInvoices200ResponseEmbedded**](list_invoices_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListInvoices200ResponseEmbedded.md b/docs/ListInvoices200ResponseEmbedded.md new file mode 100644 index 0000000..c2dc7d2 --- /dev/null +++ b/docs/ListInvoices200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListInvoices200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invoices** | Option<[**Vec**](serde_json::Value.md)> | An array of invoice objects. For a complete reference of the invoice object, refer to the [Get invoice endpoint](get-invoice) documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListLinks.md b/docs/ListLinks.md new file mode 100644 index 0000000..398fb67 --- /dev/null +++ b/docs/ListLinks.md @@ -0,0 +1,14 @@ +# ListLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | The URL to the current set of items. | +**previous** | [**models::UrlNullable**](url-nullable.md) | The previous set of items, if available. | +**next** | [**models::UrlNullable**](url-nullable.md) | The next set of items, if available. | +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListMandates200Response.md b/docs/ListMandates200Response.md new file mode 100644 index 0000000..1cc9551 --- /dev/null +++ b/docs/ListMandates200Response.md @@ -0,0 +1,13 @@ +# ListMandates200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListMandates200ResponseEmbedded**](list_mandates_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListMandates200ResponseEmbedded.md b/docs/ListMandates200ResponseEmbedded.md new file mode 100644 index 0000000..4e701cf --- /dev/null +++ b/docs/ListMandates200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListMandates200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**mandates** | [**Vec**](mandate-response.md) | An array of mandate objects. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListMethods200Response.md b/docs/ListMethods200Response.md new file mode 100644 index 0000000..420d5e4 --- /dev/null +++ b/docs/ListMethods200Response.md @@ -0,0 +1,13 @@ +# ListMethods200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of payment method objects in this result set. Results are **not** paginated. | +**_embedded** | [**models::ListMethods200ResponseEmbedded**](list_methods_200_response__embedded.md) | | +**_links** | [**models::ListMethods200ResponseLinks**](list_methods_200_response__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListMethods200ResponseEmbedded.md b/docs/ListMethods200ResponseEmbedded.md new file mode 100644 index 0000000..4aea18a --- /dev/null +++ b/docs/ListMethods200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListMethods200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**methods** | [**Vec**](entity-method.md) | An array of payment method objects. For a complete reference of the payment method object, refer to the [Get payment method endpoint](get-method) documentation. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListMethods200ResponseLinks.md b/docs/ListMethods200ResponseLinks.md new file mode 100644 index 0000000..bb363c0 --- /dev/null +++ b/docs/ListMethods200ResponseLinks.md @@ -0,0 +1,12 @@ +# ListMethods200ResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | [**models::Url**](url.md) | | +**documentation** | [**models::Url**](url.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListPaymentLinks200Response.md b/docs/ListPaymentLinks200Response.md new file mode 100644 index 0000000..db46998 --- /dev/null +++ b/docs/ListPaymentLinks200Response.md @@ -0,0 +1,13 @@ +# ListPaymentLinks200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListPaymentLinks200ResponseEmbedded**](list_payment_links_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListPaymentLinks200ResponseEmbedded.md b/docs/ListPaymentLinks200ResponseEmbedded.md new file mode 100644 index 0000000..673e03a --- /dev/null +++ b/docs/ListPaymentLinks200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListPaymentLinks200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_links** | Option<[**Vec**](payment-link-response.md)> | An array of payment link objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListPermissions200Response.md b/docs/ListPermissions200Response.md new file mode 100644 index 0000000..0c3c558 --- /dev/null +++ b/docs/ListPermissions200Response.md @@ -0,0 +1,13 @@ +# ListPermissions200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListPermissions200ResponseEmbedded**](list_permissions_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListPermissions200ResponseLinks**](list_permissions_200_response__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListPermissions200ResponseEmbedded.md b/docs/ListPermissions200ResponseEmbedded.md new file mode 100644 index 0000000..053cb16 --- /dev/null +++ b/docs/ListPermissions200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListPermissions200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | Option<[**Vec**](entity-permission.md)> | An array of permission objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListPermissions200ResponseLinks.md b/docs/ListPermissions200ResponseLinks.md new file mode 100644 index 0000000..7af75a8 --- /dev/null +++ b/docs/ListPermissions200ResponseLinks.md @@ -0,0 +1,12 @@ +# ListPermissions200ResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | The URL to the current set of items. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListProfiles200Response.md b/docs/ListProfiles200Response.md new file mode 100644 index 0000000..7abd38d --- /dev/null +++ b/docs/ListProfiles200Response.md @@ -0,0 +1,13 @@ +# ListProfiles200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListProfiles200ResponseEmbedded**](list_profiles_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListProfiles200ResponseEmbedded.md b/docs/ListProfiles200ResponseEmbedded.md new file mode 100644 index 0000000..e556222 --- /dev/null +++ b/docs/ListProfiles200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListProfiles200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | Option<[**Vec**](entity-profile-response.md)> | An array of profile objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSalesInvoices200Response.md b/docs/ListSalesInvoices200Response.md new file mode 100644 index 0000000..f5f3dbe --- /dev/null +++ b/docs/ListSalesInvoices200Response.md @@ -0,0 +1,13 @@ +# ListSalesInvoices200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListSalesInvoices200ResponseEmbedded**](list_sales_invoices_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional][readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSalesInvoices200ResponseEmbedded.md b/docs/ListSalesInvoices200ResponseEmbedded.md new file mode 100644 index 0000000..89ae44f --- /dev/null +++ b/docs/ListSalesInvoices200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSalesInvoices200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sales_invoices** | Option<[**Vec**](entity-sales-invoice-response.md)> | An array of sales invoice objects. For a complete reference of the sales invoice object, refer to the [Get sales invoice endpoint](get-sales-invoice) documentation. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementCaptures200Response.md b/docs/ListSettlementCaptures200Response.md new file mode 100644 index 0000000..2dd6bee --- /dev/null +++ b/docs/ListSettlementCaptures200Response.md @@ -0,0 +1,13 @@ +# ListSettlementCaptures200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListSettlementCaptures200ResponseEmbedded**](list_settlement_captures_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementCaptures200ResponseEmbedded.md b/docs/ListSettlementCaptures200ResponseEmbedded.md new file mode 100644 index 0000000..387f3f8 --- /dev/null +++ b/docs/ListSettlementCaptures200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSettlementCaptures200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**captures** | [**Vec**](capture-response.md) | An array of capture objects. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementChargebacks200Response.md b/docs/ListSettlementChargebacks200Response.md new file mode 100644 index 0000000..b19bb89 --- /dev/null +++ b/docs/ListSettlementChargebacks200Response.md @@ -0,0 +1,13 @@ +# ListSettlementChargebacks200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::ListSettlementChargebacks200ResponseEmbedded**](list_settlement_chargebacks_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::ListLinks**](list-links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementChargebacks200ResponseEmbedded.md b/docs/ListSettlementChargebacks200ResponseEmbedded.md new file mode 100644 index 0000000..00bd7bb --- /dev/null +++ b/docs/ListSettlementChargebacks200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSettlementChargebacks200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**chargebacks** | Option<[**Vec**](entity-chargeback.md)> | A list of chargeback objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementPayments200Response.md b/docs/ListSettlementPayments200Response.md new file mode 100644 index 0000000..b39959f --- /dev/null +++ b/docs/ListSettlementPayments200Response.md @@ -0,0 +1,13 @@ +# ListSettlementPayments200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListSettlementPayments200ResponseEmbedded**](list_settlement_payments_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementPayments200ResponseEmbedded.md b/docs/ListSettlementPayments200ResponseEmbedded.md new file mode 100644 index 0000000..ae4b44d --- /dev/null +++ b/docs/ListSettlementPayments200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSettlementPayments200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payments** | Option<[**Vec**](payment-response.md)> | An array of payment objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementRefunds200Response.md b/docs/ListSettlementRefunds200Response.md new file mode 100644 index 0000000..8dac2f5 --- /dev/null +++ b/docs/ListSettlementRefunds200Response.md @@ -0,0 +1,13 @@ +# ListSettlementRefunds200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListSettlementRefunds200ResponseEmbedded**](list_settlement_refunds_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlementRefunds200ResponseEmbedded.md b/docs/ListSettlementRefunds200ResponseEmbedded.md new file mode 100644 index 0000000..f2a9717 --- /dev/null +++ b/docs/ListSettlementRefunds200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSettlementRefunds200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**refunds** | [**Vec**](entity-refund-response.md) | An array of refund objects. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlements200Response.md b/docs/ListSettlements200Response.md new file mode 100644 index 0000000..31f649a --- /dev/null +++ b/docs/ListSettlements200Response.md @@ -0,0 +1,13 @@ +# ListSettlements200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListSettlements200ResponseEmbedded**](list_settlements_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSettlements200ResponseEmbedded.md b/docs/ListSettlements200ResponseEmbedded.md new file mode 100644 index 0000000..d69c3d9 --- /dev/null +++ b/docs/ListSettlements200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSettlements200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**settlements** | [**Vec**](entity-settlement.md) | An array of settlement objects. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSubscriptions200Response.md b/docs/ListSubscriptions200Response.md new file mode 100644 index 0000000..893ab9b --- /dev/null +++ b/docs/ListSubscriptions200Response.md @@ -0,0 +1,13 @@ +# ListSubscriptions200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListSubscriptions200ResponseEmbedded**](list_subscriptions_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListSubscriptions200ResponseEmbedded.md b/docs/ListSubscriptions200ResponseEmbedded.md new file mode 100644 index 0000000..ac165d8 --- /dev/null +++ b/docs/ListSubscriptions200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListSubscriptions200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**subscriptions** | Option<[**Vec**](subscription-response.md)> | An array of subscription objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListTerminals200Response.md b/docs/ListTerminals200Response.md new file mode 100644 index 0000000..b31da81 --- /dev/null +++ b/docs/ListTerminals200Response.md @@ -0,0 +1,13 @@ +# ListTerminals200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListTerminals200ResponseEmbedded**](list_terminals_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListTerminals200ResponseEmbedded.md b/docs/ListTerminals200ResponseEmbedded.md new file mode 100644 index 0000000..cd6d9b4 --- /dev/null +++ b/docs/ListTerminals200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListTerminals200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**terminals** | Option<[**Vec**](entity-terminal.md)> | An array of terminal objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListWebhooks200Response.md b/docs/ListWebhooks200Response.md new file mode 100644 index 0000000..0fecf3f --- /dev/null +++ b/docs/ListWebhooks200Response.md @@ -0,0 +1,13 @@ +# ListWebhooks200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **i32** | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | +**_embedded** | [**models::ListWebhooks200ResponseEmbedded**](list_webhooks_200_response__embedded.md) | | +**_links** | [**models::ListLinks**](list-links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ListWebhooks200ResponseEmbedded.md b/docs/ListWebhooks200ResponseEmbedded.md new file mode 100644 index 0000000..87b5480 --- /dev/null +++ b/docs/ListWebhooks200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# ListWebhooks200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**webhooks** | [**Vec**](entity-webhook.md) | A list of webhooks. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Locale.md b/docs/Locale.md new file mode 100644 index 0000000..5d69d36 --- /dev/null +++ b/docs/Locale.md @@ -0,0 +1,33 @@ +# Locale + +## Enum Variants + +| Name | Value | +|---- | -----| +| EnUs | en_US | +| EnGb | en_GB | +| NlNl | nl_NL | +| NlBe | nl_BE | +| DeDe | de_DE | +| DeAt | de_AT | +| DeCh | de_CH | +| FrFr | fr_FR | +| FrBe | fr_BE | +| EsEs | es_ES | +| CaEs | ca_ES | +| PtPt | pt_PT | +| ItIt | it_IT | +| NbNo | nb_NO | +| SvSe | sv_SE | +| FiFi | fi_FI | +| DaDk | da_DK | +| IsIs | is_IS | +| HuHu | hu_HU | +| PlPl | pl_PL | +| LvLv | lv_LV | +| LtLt | lt_LT | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LocaleResponse.md b/docs/LocaleResponse.md new file mode 100644 index 0000000..07cc501 --- /dev/null +++ b/docs/LocaleResponse.md @@ -0,0 +1,33 @@ +# LocaleResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| EnUs | en_US | +| EnGb | en_GB | +| NlNl | nl_NL | +| NlBe | nl_BE | +| DeDe | de_DE | +| DeAt | de_AT | +| DeCh | de_CH | +| FrFr | fr_FR | +| FrBe | fr_BE | +| EsEs | es_ES | +| CaEs | ca_ES | +| PtPt | pt_PT | +| ItIt | it_IT | +| NbNo | nb_NO | +| SvSe | sv_SE | +| FiFi | fi_FI | +| DaDk | da_DK | +| IsIs | is_IS | +| HuHu | hu_HU | +| PlPl | pl_PL | +| LvLv | lv_LV | +| LtLt | lt_LT | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateDetailsCardLabel.md b/docs/MandateDetailsCardLabel.md new file mode 100644 index 0000000..a33f037 --- /dev/null +++ b/docs/MandateDetailsCardLabel.md @@ -0,0 +1,23 @@ +# MandateDetailsCardLabel + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | American Express | +| CartaSi | Carta Si | +| CarteBleue | Carte Bleue | +| Dankort | Dankort | +| DinersClub | Diners Club | +| Discover | Discover | +| Jcb | JCB | +| Laser | Laser | +| Maestro | Maestro | +| Mastercard | Mastercard | +| Unionpay | Unionpay | +| Visa | Visa | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateDetailsCardLabelResponse.md b/docs/MandateDetailsCardLabelResponse.md new file mode 100644 index 0000000..f744d81 --- /dev/null +++ b/docs/MandateDetailsCardLabelResponse.md @@ -0,0 +1,23 @@ +# MandateDetailsCardLabelResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | American Express | +| CartaSi | Carta Si | +| CarteBleue | Carte Bleue | +| Dankort | Dankort | +| DinersClub | Diners Club | +| Discover | Discover | +| Jcb | JCB | +| Laser | Laser | +| Maestro | Maestro | +| Mastercard | Mastercard | +| Unionpay | Unionpay | +| Visa | Visa | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateMethod.md b/docs/MandateMethod.md new file mode 100644 index 0000000..b49b66d --- /dev/null +++ b/docs/MandateMethod.md @@ -0,0 +1,14 @@ +# MandateMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| Creditcard | creditcard | +| Directdebit | directdebit | +| Paypal | paypal | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateMethodResponse.md b/docs/MandateMethodResponse.md new file mode 100644 index 0000000..a64b5c6 --- /dev/null +++ b/docs/MandateMethodResponse.md @@ -0,0 +1,14 @@ +# MandateMethodResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Creditcard | creditcard | +| Directdebit | directdebit | +| Paypal | paypal | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateRequest.md b/docs/MandateRequest.md new file mode 100644 index 0000000..76627fc --- /dev/null +++ b/docs/MandateRequest.md @@ -0,0 +1,28 @@ +# MandateRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**method** | Option<[**models::MandateMethod**](mandate-method.md)> | | [optional] +**consumer_name** | Option<**String**> | The customer's name. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN. Required for SEPA Direct Debit mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. | [optional] +**consumer_email** | Option<**String**> | The customer's email address. Required for PayPal mandates. | [optional] +**details** | Option<[**models::EntityMandateDetails**](entity_mandate_details.md)> | | [optional] +**signature_date** | Option<**String**> | The date when the mandate was signed in `YYYY-MM-DD` format. | [optional] +**mandate_reference** | Option<**String**> | A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. | [optional] +**paypal_billing_agreement_id** | Option<**String**> | The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. | [optional] +**pay_pal_vault_id** | Option<**String**> | The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. | [optional] +**status** | Option<[**models::MandateStatus**](mandate-status.md)> | | [optional][readonly] +**customer_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityMandateLinks**](entity_mandate__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateResponse.md b/docs/MandateResponse.md new file mode 100644 index 0000000..9487c4b --- /dev/null +++ b/docs/MandateResponse.md @@ -0,0 +1,28 @@ +# MandateResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**method** | Option<[**models::MandateMethodResponse**](mandate-method-response.md)> | | [optional] +**consumer_name** | Option<**String**> | The customer's name. | [optional] +**consumer_account** | Option<**String**> | The customer's IBAN. Required for SEPA Direct Debit mandates. | [optional] +**consumer_bic** | Option<**String**> | The BIC of the customer's bank. | [optional] +**consumer_email** | Option<**String**> | The customer's email address. Required for PayPal mandates. | [optional] +**details** | Option<[**models::EntityMandateResponseDetails**](entity_mandate_response_details.md)> | | [optional] +**signature_date** | Option<**String**> | The date when the mandate was signed in `YYYY-MM-DD` format. | [optional] +**mandate_reference** | Option<**String**> | A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. | [optional] +**paypal_billing_agreement_id** | Option<**String**> | The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. | [optional] +**pay_pal_vault_id** | Option<**String**> | The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. | [optional] +**status** | Option<[**models::MandateStatus**](mandate-status.md)> | | [optional][readonly] +**customer_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityMandateLinks**](entity_mandate__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandateStatus.md b/docs/MandateStatus.md new file mode 100644 index 0000000..5477c6a --- /dev/null +++ b/docs/MandateStatus.md @@ -0,0 +1,14 @@ +# MandateStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Valid | valid | +| Pending | pending | +| Invalid | invalid | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MandatesApiApi.md b/docs/MandatesApiApi.md new file mode 100644 index 0000000..58937eb --- /dev/null +++ b/docs/MandatesApiApi.md @@ -0,0 +1,145 @@ +# \MandatesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_mandate**](MandatesApiApi.md#create_mandate) | **POST** /customers/{customerId}/mandates | Create mandate +[**get_mandate**](MandatesApiApi.md#get_mandate) | **GET** /customers/{customerId}/mandates/{mandateId} | Get mandate +[**list_mandates**](MandatesApiApi.md#list_mandates) | **GET** /customers/{customerId}/mandates | List mandates +[**revoke_mandate**](MandatesApiApi.md#revoke_mandate) | **DELETE** /customers/{customerId}/mandates/{mandateId} | Revoke mandate + + + +## create_mandate + +> models::MandateResponse create_mandate(customer_id, idempotency_key, mandate_request) +Create mandate + +Create a mandate for a specific customer. Mandates allow you to charge a customer's card, PayPal account or bank account recurrently. It is only possible to create mandates for IBANs and PayPal billing agreements with this endpoint. To create mandates for cards, your customers need to perform a 'first payment' with their card. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**mandate_request** | Option<[**MandateRequest**](MandateRequest.md)> | | | + +### Return type + +[**models::MandateResponse**](mandate-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_mandate + +> models::MandateResponse get_mandate(customer_id, mandate_id, testmode, idempotency_key) +Get mandate + +Retrieve a single mandate by its ID. Depending on the type of mandate, the object will contain the customer's bank account details, card details, or PayPal account details. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**mandate_id** | **String** | Provide the ID of the related mandate. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::MandateResponse**](mandate-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_mandates + +> models::ListMandates200Response list_mandates(customer_id, from, limit, sort, testmode, idempotency_key) +List mandates + +Retrieve a list of all mandates. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListMandates200Response**](list_mandates_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## revoke_mandate + +> serde_json::Value revoke_mandate(customer_id, mandate_id, idempotency_key, delete_webhook_request) +Revoke mandate + +Revoke a customer's mandate. You will no longer be able to charge the customer's bank account or card with this mandate, and all connected subscriptions will be canceled. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**mandate_id** | **String** | Provide the ID of the related mandate. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Metadata.md b/docs/Metadata.md new file mode 100644 index 0000000..3ee9bf0 --- /dev/null +++ b/docs/Metadata.md @@ -0,0 +1,13 @@ +# Metadata + +## Enum Variants + +| Name | Description | +|---- | -----| +| String | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. | +| Vec | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. | +| std::collections::HashMap | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Method.md b/docs/Method.md new file mode 100644 index 0000000..c093f23 --- /dev/null +++ b/docs/Method.md @@ -0,0 +1,49 @@ +# Method + +## Enum Variants + +| Name | Value | +|---- | -----| +| Alma | alma | +| Applepay | applepay | +| Bacs | bacs | +| Bancomatpay | bancomatpay | +| Bancontact | bancontact | +| Banktransfer | banktransfer | +| Belfius | belfius | +| Billie | billie | +| Bizum | bizum | +| Blik | blik | +| Creditcard | creditcard | +| Directdebit | directdebit | +| Eps | eps | +| Giftcard | giftcard | +| Ideal | ideal | +| In3 | in3 | +| Kbc | kbc | +| Klarna | klarna | +| Klarnapaylater | klarnapaylater | +| Klarnapaynow | klarnapaynow | +| Klarnasliceit | klarnasliceit | +| Mbway | mbway | +| Mobilepay | mobilepay | +| Multibanco | multibanco | +| Mybank | mybank | +| Paybybank | paybybank | +| Payconiq | payconiq | +| Paypal | paypal | +| Paysafecard | paysafecard | +| Pointofsale | pointofsale | +| Przelewy24 | przelewy24 | +| Riverty | riverty | +| Satispay | satispay | +| Swish | swish | +| Trustly | trustly | +| Twint | twint | +| Vipps | vipps | +| Voucher | voucher | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MethodIssuerStatus.md b/docs/MethodIssuerStatus.md new file mode 100644 index 0000000..cc556fe --- /dev/null +++ b/docs/MethodIssuerStatus.md @@ -0,0 +1,13 @@ +# MethodIssuerStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Activated | activated | +| PendingIssuer | pending-issuer | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MethodResponse.md b/docs/MethodResponse.md new file mode 100644 index 0000000..5022330 --- /dev/null +++ b/docs/MethodResponse.md @@ -0,0 +1,49 @@ +# MethodResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Alma | alma | +| Applepay | applepay | +| Bacs | bacs | +| Bancomatpay | bancomatpay | +| Bancontact | bancontact | +| Banktransfer | banktransfer | +| Belfius | belfius | +| Billie | billie | +| Bizum | bizum | +| Blik | blik | +| Creditcard | creditcard | +| Directdebit | directdebit | +| Eps | eps | +| Giftcard | giftcard | +| Ideal | ideal | +| In3 | in3 | +| Kbc | kbc | +| Klarna | klarna | +| Klarnapaylater | klarnapaylater | +| Klarnapaynow | klarnapaynow | +| Klarnasliceit | klarnasliceit | +| Mbway | mbway | +| Mobilepay | mobilepay | +| Multibanco | multibanco | +| Mybank | mybank | +| Paybybank | paybybank | +| Payconiq | payconiq | +| Paypal | paypal | +| Paysafecard | paysafecard | +| Pointofsale | pointofsale | +| Przelewy24 | przelewy24 | +| Riverty | riverty | +| Satispay | satispay | +| Swish | swish | +| Trustly | trustly | +| Twint | twint | +| Vipps | vipps | +| Voucher | voucher | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MethodStatus.md b/docs/MethodStatus.md new file mode 100644 index 0000000..ad87ab8 --- /dev/null +++ b/docs/MethodStatus.md @@ -0,0 +1,16 @@ +# MethodStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Activated | activated | +| PendingBoarding | pending-boarding | +| PendingReview | pending-review | +| PendingExternal | pending-external | +| Rejected | rejected | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/MethodsApiApi.md b/docs/MethodsApiApi.md new file mode 100644 index 0000000..d915121 --- /dev/null +++ b/docs/MethodsApiApi.md @@ -0,0 +1,259 @@ +# \MethodsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**disable_method**](MethodsApiApi.md#disable_method) | **DELETE** /profiles/{profileId}/methods/{id} | Disable payment method +[**disable_method_issuer**](MethodsApiApi.md#disable_method_issuer) | **DELETE** /profiles/{profileId}/methods/{methodId}/issuers/{id} | Disable payment method issuer +[**enable_method**](MethodsApiApi.md#enable_method) | **POST** /profiles/{profileId}/methods/{id} | Enable payment method +[**enable_method_issuer**](MethodsApiApi.md#enable_method_issuer) | **POST** /profiles/{profileId}/methods/{methodId}/issuers/{id} | Enable payment method issuer +[**get_method**](MethodsApiApi.md#get_method) | **GET** /methods/{id} | Get payment method +[**list_all_methods**](MethodsApiApi.md#list_all_methods) | **GET** /methods/all | List all payment methods +[**list_methods**](MethodsApiApi.md#list_methods) | **GET** /methods | List payment methods + + + +## disable_method + +> serde_json::Value disable_method(profile_id, id, idempotency_key) +Disable payment method + +Disable a payment method on a specific profile. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**profile_id** | **String** | Provide the ID of the related profile. | [required] | +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## disable_method_issuer + +> serde_json::Value disable_method_issuer(profile_id, method_id, id, idempotency_key) +Disable payment method issuer + +Disable an issuer for a payment method on a specific profile. Currently only the payment methods `voucher` and `giftcard` are supported. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**profile_id** | **String** | Provide the ID of the related profile. | [required] | +**method_id** | **String** | Provide the ID of the related payment method. | [required] | +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enable_method + +> models::EntityMethod enable_method(profile_id, id, idempotency_key) +Enable payment method + +Enable a payment method on a specific profile. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. Some payment methods require extra steps in order to be activated. In cases where a step at the payment method provider needs to be completed first, the status will be set to `pending-external` and the response will contain a link to complete the activation at the provider. To enable voucher or gift card issuers, refer to the [Enable payment method issuer](enable-method-issuer) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**profile_id** | **String** | Provide the ID of the related profile. | [required] | +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityMethod**](entity-method.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## enable_method_issuer + +> models::EnableMethodIssuer200Response enable_method_issuer(profile_id, method_id, id, idempotency_key, enable_method_issuer_request) +Enable payment method issuer + +Enable an issuer for a payment method on a specific profile. Currently only the payment methods `voucher` and `giftcard` are supported. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**profile_id** | **String** | Provide the ID of the related profile. | [required] | +**method_id** | **String** | Provide the ID of the related payment method. | [required] | +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**enable_method_issuer_request** | Option<[**EnableMethodIssuerRequest**](EnableMethodIssuerRequest.md)> | | | + +### Return type + +[**models::EnableMethodIssuer200Response**](enable_method_issuer_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_method + +> models::EntityMethod get_method(id, locale, currency, profile_id, include, sequence_type, testmode, idempotency_key) +Get payment method + +Retrieve a single payment method by its ID. If a method is not available on this profile, a `404 Not Found` response is returned. If the method is available but not enabled yet, a status `403 Forbidden` is returned. You can enable payments methods via the [Enable payment method endpoint](enable-method) of the Profiles API, or via the Mollie Dashboard. If you do not know the method's ID, you can use the [methods list endpoint](list-methods) to retrieve all payment methods that are available. Additionally, it is possible to check if wallet methods such as Apple Pay are enabled by passing the wallet ID (`applepay`) as the method ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**locale** | Option<**String**> | Response language | | +**currency** | Option<**String**> | If provided, the `minimumAmount` and `maximumAmount` will be converted to the given currency. An error is returned if the currency is not supported by the payment method. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**sequence_type** | Option<[**SequenceType**](.md)> | Set this parameter to `first` to only return the methods that can be used for the first payment of a recurring sequence. Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityMethod**](entity-method.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_all_methods + +> models::ListAllMethods200Response list_all_methods(locale, amount, include, sequence_type, profile_id, testmode, idempotency_key) +List all payment methods + +Retrieve all payment methods that Mollie offers, regardless of the eligibility of the organization for the specific method. The results of this endpoint are **not** paginated — unlike most other list endpoints in our API. The list can optionally be filtered using a number of parameters described below. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**locale** | Option<**String**> | Response language | | +**amount** | Option<[**Amount**](.md)> | If supplied, only payment methods that support the amount and currency are returned. Example: `/v2/methods/all?amount[value]=100.00&amount[currency]=USD` | | +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**sequence_type** | Option<[**SequenceType**](.md)> | Set this parameter to `first` to only return the methods that can be used for the first payment of a recurring sequence. Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListAllMethods200Response**](list_all_methods_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_methods + +> models::ListMethods200Response list_methods(sequence_type, locale, amount, resource, billing_country, include_wallets, order_line_categories, profile_id, include, testmode, idempotency_key) +List payment methods + +Retrieve all enabled payment methods. The results of this endpoint are **not** paginated — unlike most other list endpoints in our API. For test mode, all pending and enabled payment methods are returned. If no payment methods are requested yet, the most popular payment methods are returned in the test mode. For live mode, only fully enabled payment methods are returned. Payment methods can be requested and enabled via the Mollie Dashboard, or via the [Enable payment method endpoint](enable-method) of the Profiles API. The list can optionally be filtered using a number of parameters described below. By default, only payment methods for the Euro currency are returned. If you wish to retrieve payment methods which exclusively support other currencies (e.g. Twint), you need to use the `amount` parameters. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**sequence_type** | Option<[**SequenceType**](.md)> | Set this parameter to `first` to only return the enabled methods that can be used for the first payment of a recurring sequence. Set it to `recurring` to only return enabled methods that can be used for recurring payments or subscriptions. | | +**locale** | Option<**String**> | Response language | | +**amount** | Option<[**Amount**](.md)> | If supplied, only payment methods that support the amount and currency are returned. Example: `/v2/methods?amount[value]=100.00&amount[currency]=USD` | | +**resource** | Option<**String**> | **⚠️ We no longer recommend using the Orders API. Please refer to the [Payments API](payments-api) instead.** Indicate if you will use the result for the [Create order](create-order) or the [Create payment](create-payment) endpoint. When passing the value `orders`, the result will include payment methods that are only available for payments created via the Orders API. | | +**billing_country** | Option<**String**> | The country taken from your customer's billing address in ISO 3166-1 alpha-2 format. This parameter can be used to check whether your customer is eligible for certain payment methods, for example for Klarna. Example: `/v2/methods?resource=orders&billingCountry=DE` | | +**include_wallets** | Option<**String**> | A comma-separated list of the wallets you support in your checkout. Wallets often require wallet specific code to check if they are available on the shoppers device, hence the need to indicate your support. | | +**order_line_categories** | Option<[**LineCategories**](.md)> | A comma-separated list of the line categories you support in your checkout. Example: `/v2/methods?orderLineCategories=eco,meal` | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListMethods200Response**](list_methods_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/Mode.md b/docs/Mode.md new file mode 100644 index 0000000..2b5302c --- /dev/null +++ b/docs/Mode.md @@ -0,0 +1,13 @@ +# Mode + +## Enum Variants + +| Name | Value | +|---- | -----| +| Live | live | +| Test | test | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OnboardingApiApi.md b/docs/OnboardingApiApi.md new file mode 100644 index 0000000..3cd8295 --- /dev/null +++ b/docs/OnboardingApiApi.md @@ -0,0 +1,71 @@ +# \OnboardingApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_onboarding_status**](OnboardingApiApi.md#get_onboarding_status) | **GET** /onboarding/me | Get onboarding status +[**submit_onboarding_data**](OnboardingApiApi.md#submit_onboarding_data) | **POST** /onboarding/me | Submit onboarding data + + + +## get_onboarding_status + +> models::EntityOnboardingStatus get_onboarding_status(idempotency_key) +Get onboarding status + +Retrieve the onboarding status of the currently authenticated organization. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityOnboardingStatus**](entity-onboarding-status.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## submit_onboarding_data + +> serde_json::Value submit_onboarding_data(idempotency_key, submit_onboarding_data_request) +Submit onboarding data + +**⚠️ We no longer recommend implementing this endpoint. Please refer to the Client Links API instead to kick off the onboarding process for your merchants.** Submit data that will be prefilled in the merchant's onboarding. The data you submit will only be processed when the onboarding status is `needs-data`. Information that the merchant has entered in their dashboard will not be overwritten. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**submit_onboarding_data_request** | Option<[**SubmitOnboardingDataRequest**](SubmitOnboardingDataRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/OnboardingStatus.md b/docs/OnboardingStatus.md new file mode 100644 index 0000000..f9e6281 --- /dev/null +++ b/docs/OnboardingStatus.md @@ -0,0 +1,14 @@ +# OnboardingStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| NeedsData | needs-data | +| InReview | in-review | +| Completed | completed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationVatRegulation.md b/docs/OrganizationVatRegulation.md new file mode 100644 index 0000000..1ed34d8 --- /dev/null +++ b/docs/OrganizationVatRegulation.md @@ -0,0 +1,14 @@ +# OrganizationVatRegulation + +## Enum Variants + +| Name | Value | +|---- | -----| +| Dutch | dutch | +| British | british | +| Shifted | shifted | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationsApiApi.md b/docs/OrganizationsApiApi.md new file mode 100644 index 0000000..44e329b --- /dev/null +++ b/docs/OrganizationsApiApi.md @@ -0,0 +1,103 @@ +# \OrganizationsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_current_organization**](OrganizationsApiApi.md#get_current_organization) | **GET** /organizations/me | Get current organization +[**get_organization**](OrganizationsApiApi.md#get_organization) | **GET** /organizations/{id} | Get organization +[**get_partner_status**](OrganizationsApiApi.md#get_partner_status) | **GET** /organizations/me/partner | Get partner status + + + +## get_current_organization + +> models::EntityOrganization get_current_organization(idempotency_key) +Get current organization + +Retrieve the currently authenticated organization. A convenient alias of the [Get organization](get-organization) endpoint. For a complete reference of the organization object, refer to the [Get organization](get-organization) endpoint documentation. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityOrganization**](entity-organization.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_organization + +> models::EntityOrganization get_organization(id, testmode, idempotency_key) +Get organization + +Retrieve a single organization by its ID. You can normally only retrieve the currently authenticated organization with this endpoint. This is primarily useful for OAuth apps. See also [Get current organization](get-current-organization). If you have a *partner account*', you can retrieve organization details of connected organizations. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityOrganization**](entity-organization.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_partner_status + +> models::GetPartnerStatus200Response get_partner_status(idempotency_key) +Get partner status + +Retrieve partnership details about the currently authenticated organization. Only relevant for so-called *partner accounts*. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::GetPartnerStatus200Response**](get_partner_status_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/PaymentAddress.md b/docs/PaymentAddress.md new file mode 100644 index 0000000..8e4802f --- /dev/null +++ b/docs/PaymentAddress.md @@ -0,0 +1,22 @@ +# PaymentAddress + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | Option<**String**> | The title of the person, for example *Mr.* or *Mrs.*. | [optional] +**given_name** | Option<**String**> | The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**family_name** | Option<**String**> | The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**organization_name** | Option<**String**> | The name of the organization, in case the addressee is an organization. | [optional] +**street_and_number** | Option<**String**> | A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**street_additional** | Option<**String**> | Any additional addressing details, for example an apartment number. | [optional] +**postal_code** | Option<**String**> | A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**email** | Option<**String**> | A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**phone** | Option<**String**> | If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. | [optional] +**city** | Option<**String**> | A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] +**region** | Option<**String**> | The top-level administrative subdivision of the country. For example: Noord-Holland. | [optional] +**country** | Option<**String**> | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardAudition.md b/docs/PaymentDetailsCardAudition.md new file mode 100644 index 0000000..1886d4f --- /dev/null +++ b/docs/PaymentDetailsCardAudition.md @@ -0,0 +1,13 @@ +# PaymentDetailsCardAudition + +## Enum Variants + +| Name | Value | +|---- | -----| +| Consumer | consumer | +| Business | business | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardAuditionResponse.md b/docs/PaymentDetailsCardAuditionResponse.md new file mode 100644 index 0000000..1ea1bb2 --- /dev/null +++ b/docs/PaymentDetailsCardAuditionResponse.md @@ -0,0 +1,13 @@ +# PaymentDetailsCardAuditionResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Consumer | consumer | +| Business | business | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardFunding.md b/docs/PaymentDetailsCardFunding.md new file mode 100644 index 0000000..73b8dd9 --- /dev/null +++ b/docs/PaymentDetailsCardFunding.md @@ -0,0 +1,15 @@ +# PaymentDetailsCardFunding + +## Enum Variants + +| Name | Value | +|---- | -----| +| Debit | debit | +| Credit | credit | +| Prepaid | prepaid | +| DeferredDebit | deferred-debit | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardFundingResponse.md b/docs/PaymentDetailsCardFundingResponse.md new file mode 100644 index 0000000..fbefec5 --- /dev/null +++ b/docs/PaymentDetailsCardFundingResponse.md @@ -0,0 +1,15 @@ +# PaymentDetailsCardFundingResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Debit | debit | +| Credit | credit | +| Prepaid | prepaid | +| DeferredDebit | deferred-debit | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardLabel.md b/docs/PaymentDetailsCardLabel.md new file mode 100644 index 0000000..860643a --- /dev/null +++ b/docs/PaymentDetailsCardLabel.md @@ -0,0 +1,24 @@ +# PaymentDetailsCardLabel + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | American Express | +| CartaSi | Carta Si | +| CarteBleue | Carte Bleue | +| Dankort | Dankort | +| DinersClub | Diners Club | +| Discover | Discover | +| Jcb | JCB | +| Laser | Laser | +| Maestro | Maestro | +| Mastercard | Mastercard | +| Unionpay | Unionpay | +| Visa | Visa | +| Vpay | Vpay | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardLabelResponse.md b/docs/PaymentDetailsCardLabelResponse.md new file mode 100644 index 0000000..2d71c88 --- /dev/null +++ b/docs/PaymentDetailsCardLabelResponse.md @@ -0,0 +1,24 @@ +# PaymentDetailsCardLabelResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | American Express | +| CartaSi | Carta Si | +| CarteBleue | Carte Bleue | +| Dankort | Dankort | +| DinersClub | Diners Club | +| Discover | Discover | +| Jcb | JCB | +| Laser | Laser | +| Maestro | Maestro | +| Mastercard | Mastercard | +| Unionpay | Unionpay | +| Visa | Visa | +| Vpay | Vpay | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardSecurity.md b/docs/PaymentDetailsCardSecurity.md new file mode 100644 index 0000000..beb1749 --- /dev/null +++ b/docs/PaymentDetailsCardSecurity.md @@ -0,0 +1,13 @@ +# PaymentDetailsCardSecurity + +## Enum Variants + +| Name | Value | +|---- | -----| +| Normal | normal | +| Variant3dsecure | 3dsecure | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsCardSecurityResponse.md b/docs/PaymentDetailsCardSecurityResponse.md new file mode 100644 index 0000000..183fae4 --- /dev/null +++ b/docs/PaymentDetailsCardSecurityResponse.md @@ -0,0 +1,13 @@ +# PaymentDetailsCardSecurityResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Normal | normal | +| Variant3dsecure | 3dsecure | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsFailureReason.md b/docs/PaymentDetailsFailureReason.md new file mode 100644 index 0000000..d4a3808 --- /dev/null +++ b/docs/PaymentDetailsFailureReason.md @@ -0,0 +1,26 @@ +# PaymentDetailsFailureReason + +## Enum Variants + +| Name | Value | +|---- | -----| +| AuthenticationAbandoned | authentication_abandoned | +| AuthenticationFailed | authentication_failed | +| AuthenticationRequired | authentication_required | +| AuthenticationUnavailableAcs | authentication_unavailable_acs | +| CardDeclined | card_declined | +| CardExpired | card_expired | +| InactiveCard | inactive_card | +| InsufficientFunds | insufficient_funds | +| InvalidCvv | invalid_cvv | +| InvalidCardHolderName | invalid_card_holder_name | +| InvalidCardNumber | invalid_card_number | +| InvalidCardType | invalid_card_type | +| PossibleFraud | possible_fraud | +| RefusedByIssuer | refused_by_issuer | +| UnknownReason | unknown_reason | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsFailureReasonResponse.md b/docs/PaymentDetailsFailureReasonResponse.md new file mode 100644 index 0000000..e9ebb85 --- /dev/null +++ b/docs/PaymentDetailsFailureReasonResponse.md @@ -0,0 +1,26 @@ +# PaymentDetailsFailureReasonResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| AuthenticationAbandoned | authentication_abandoned | +| AuthenticationFailed | authentication_failed | +| AuthenticationRequired | authentication_required | +| AuthenticationUnavailableAcs | authentication_unavailable_acs | +| CardDeclined | card_declined | +| CardExpired | card_expired | +| InactiveCard | inactive_card | +| InsufficientFunds | insufficient_funds | +| InvalidCvv | invalid_cvv | +| InvalidCardHolderName | invalid_card_holder_name | +| InvalidCardNumber | invalid_card_number | +| InvalidCardType | invalid_card_type | +| PossibleFraud | possible_fraud | +| RefusedByIssuer | refused_by_issuer | +| UnknownReason | unknown_reason | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsFeeRegion.md b/docs/PaymentDetailsFeeRegion.md new file mode 100644 index 0000000..0362699 --- /dev/null +++ b/docs/PaymentDetailsFeeRegion.md @@ -0,0 +1,21 @@ +# PaymentDetailsFeeRegion + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | american-express | +| AmexIntraEea | amex-intra-eea | +| CarteBancaire | carte-bancaire | +| IntraEu | intra-eu | +| IntraEuCorporate | intra-eu-corporate | +| Domestic | domestic | +| Maestro | maestro | +| Other | other | +| Inter | inter | +| IntraEea | intra_eea | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsFeeRegionResponse.md b/docs/PaymentDetailsFeeRegionResponse.md new file mode 100644 index 0000000..4c1c9bf --- /dev/null +++ b/docs/PaymentDetailsFeeRegionResponse.md @@ -0,0 +1,21 @@ +# PaymentDetailsFeeRegionResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| AmericanExpress | american-express | +| AmexIntraEea | amex-intra-eea | +| CarteBancaire | carte-bancaire | +| IntraEu | intra-eu | +| IntraEuCorporate | intra-eu-corporate | +| Domestic | domestic | +| Maestro | maestro | +| Other | other | +| Inter | inter | +| IntraEea | intra_eea | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsReceiptCardReadMethod.md b/docs/PaymentDetailsReceiptCardReadMethod.md new file mode 100644 index 0000000..ad6f0bd --- /dev/null +++ b/docs/PaymentDetailsReceiptCardReadMethod.md @@ -0,0 +1,16 @@ +# PaymentDetailsReceiptCardReadMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| Chip | chip | +| MagneticStripe | magnetic-stripe | +| NearFieldCommunication | near-field-communication | +| Contactless | contactless | +| Moto | moto | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsReceiptCardReadMethodResponse.md b/docs/PaymentDetailsReceiptCardReadMethodResponse.md new file mode 100644 index 0000000..8a15e79 --- /dev/null +++ b/docs/PaymentDetailsReceiptCardReadMethodResponse.md @@ -0,0 +1,16 @@ +# PaymentDetailsReceiptCardReadMethodResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Chip | chip | +| MagneticStripe | magnetic-stripe | +| NearFieldCommunication | near-field-communication | +| Contactless | contactless | +| Moto | moto | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsReceiptCardVerificationMethod.md b/docs/PaymentDetailsReceiptCardVerificationMethod.md new file mode 100644 index 0000000..60c5925 --- /dev/null +++ b/docs/PaymentDetailsReceiptCardVerificationMethod.md @@ -0,0 +1,20 @@ +# PaymentDetailsReceiptCardVerificationMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| NoCvmRequired | no-cvm-required | +| OnlinePin | online-pin | +| OfflinePin | offline-pin | +| ConsumerDevice | consumer-device | +| Signature | signature | +| SignatureAndOnlinePin | signature-and-online-pin | +| OnlinePinAndSignature | online-pin-and-signature | +| None | none | +| Failed | failed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsReceiptCardVerificationMethodResponse.md b/docs/PaymentDetailsReceiptCardVerificationMethodResponse.md new file mode 100644 index 0000000..833880b --- /dev/null +++ b/docs/PaymentDetailsReceiptCardVerificationMethodResponse.md @@ -0,0 +1,20 @@ +# PaymentDetailsReceiptCardVerificationMethodResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| NoCvmRequired | no-cvm-required | +| OnlinePin | online-pin | +| OfflinePin | offline-pin | +| ConsumerDevice | consumer-device | +| Signature | signature | +| SignatureAndOnlinePin | signature-and-online-pin | +| OnlinePinAndSignature | online-pin-and-signature | +| None | none | +| Failed | failed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsSellerProtection.md b/docs/PaymentDetailsSellerProtection.md new file mode 100644 index 0000000..8169404 --- /dev/null +++ b/docs/PaymentDetailsSellerProtection.md @@ -0,0 +1,19 @@ +# PaymentDetailsSellerProtection + +## Enum Variants + +| Name | Value | +|---- | -----| +| Eligible | Eligible | +| Ineligible | Ineligible | +| PartiallyEligibleInrOnly | Partially Eligible - INR Only | +| PartiallyEligibleUnauthOnly | Partially Eligible - Unauth Only | +| PartiallyEligible | Partially Eligible | +| None | None | +| Active | Active | +| FraudControlUnauthPremiumEligible | Fraud Control - Unauth Premium Eligible | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsSellerProtectionResponse.md b/docs/PaymentDetailsSellerProtectionResponse.md new file mode 100644 index 0000000..c636b27 --- /dev/null +++ b/docs/PaymentDetailsSellerProtectionResponse.md @@ -0,0 +1,19 @@ +# PaymentDetailsSellerProtectionResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Eligible | Eligible | +| Ineligible | Ineligible | +| PartiallyEligibleInrOnly | Partially Eligible - INR Only | +| PartiallyEligibleUnauthOnly | Partially Eligible - Unauth Only | +| PartiallyEligible | Partially Eligible | +| None | None | +| Active | Active | +| FraudControlUnauthPremiumEligible | Fraud Control - Unauth Premium Eligible | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsWallet.md b/docs/PaymentDetailsWallet.md new file mode 100644 index 0000000..3714bb3 --- /dev/null +++ b/docs/PaymentDetailsWallet.md @@ -0,0 +1,12 @@ +# PaymentDetailsWallet + +## Enum Variants + +| Name | Value | +|---- | -----| +| Applepay | applepay | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentDetailsWalletResponse.md b/docs/PaymentDetailsWalletResponse.md new file mode 100644 index 0000000..8442174 --- /dev/null +++ b/docs/PaymentDetailsWalletResponse.md @@ -0,0 +1,12 @@ +# PaymentDetailsWalletResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Applepay | applepay | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLineItem.md b/docs/PaymentLineItem.md new file mode 100644 index 0000000..27183af --- /dev/null +++ b/docs/PaymentLineItem.md @@ -0,0 +1,23 @@ +# PaymentLineItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::PaymentLineType**](payment-line-type.md)> | | [optional] +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**quantity_unit** | Option<**String**> | The unit for the quantity. For example *pcs*, *kg*, or *cm*. | [optional] +**unit_price** | [**models::Amount**](amount.md) | The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. | +**discount_amount** | Option<[**models::Amount**](amount.md)> | Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. | [optional] +**total_amount** | [**models::Amount**](amount.md) | The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. | +**vat_rate** | Option<**String**> | The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. | [optional] +**vat_amount** | Option<[**models::Amount**](amount.md)> | The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. | [optional] +**sku** | Option<**String**> | The SKU, EAN, ISBN or UPC of the product sold. | [optional] +**categories** | Option<[**Vec**](line-categories.md)> | An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. | [optional] +**image_url** | Option<**String**> | A link pointing to an image of the product sold. | [optional] +**product_url** | Option<**String**> | A link pointing to the product page in your web shop of the product sold. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLineItemResponse.md b/docs/PaymentLineItemResponse.md new file mode 100644 index 0000000..8799cc2 --- /dev/null +++ b/docs/PaymentLineItemResponse.md @@ -0,0 +1,23 @@ +# PaymentLineItemResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | Option<[**models::PaymentLineTypeResponse**](payment-line-type-response.md)> | | [optional] +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**quantity_unit** | Option<**String**> | The unit for the quantity. For example *pcs*, *kg*, or *cm*. | [optional] +**unit_price** | [**models::Amount**](amount.md) | The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. | +**discount_amount** | Option<[**models::Amount**](amount.md)> | Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. | [optional] +**total_amount** | [**models::Amount**](amount.md) | The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. | +**vat_rate** | Option<**String**> | The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. | [optional] +**vat_amount** | Option<[**models::Amount**](amount.md)> | The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. | [optional] +**sku** | Option<**String**> | The SKU, EAN, ISBN or UPC of the product sold. | [optional] +**categories** | Option<[**Vec**](line-categories-response.md)> | An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. | [optional] +**image_url** | Option<**String**> | A link pointing to an image of the product sold. | [optional] +**product_url** | Option<**String**> | A link pointing to the product page in your web shop of the product sold. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLineType.md b/docs/PaymentLineType.md new file mode 100644 index 0000000..3d7aadf --- /dev/null +++ b/docs/PaymentLineType.md @@ -0,0 +1,19 @@ +# PaymentLineType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Physical | physical | +| Digital | digital | +| ShippingFee | shipping_fee | +| Discount | discount | +| StoreCredit | store_credit | +| GiftCard | gift_card | +| Surcharge | surcharge | +| Tip | tip | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLineTypeResponse.md b/docs/PaymentLineTypeResponse.md new file mode 100644 index 0000000..20cc5c4 --- /dev/null +++ b/docs/PaymentLineTypeResponse.md @@ -0,0 +1,19 @@ +# PaymentLineTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Physical | physical | +| Digital | digital | +| ShippingFee | shipping_fee | +| Discount | discount | +| StoreCredit | store_credit | +| GiftCard | gift_card | +| Surcharge | surcharge | +| Tip | tip | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLinkResponse.md b/docs/PaymentLinkResponse.md new file mode 100644 index 0000000..b657711 --- /dev/null +++ b/docs/PaymentLinkResponse.md @@ -0,0 +1,33 @@ +# PaymentLinkResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. | [optional] +**amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. | [optional] +**minimum_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. | [optional] +**archived** | Option<**bool**> | Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](payment-line-item-response.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**reusable** | Option<**bool**> | Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment link became paid, in ISO 8601 format. | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. | [optional] +**allowed_methods** | Option<**Vec**> | An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. | [optional] +**application_fee** | Option<[**models::CreatePaymentLinkRequestApplicationFee**](create_payment_link_request_applicationFee.md)> | | [optional] +**sequence_type** | Option<[**models::PaymentLinkSequenceTypeResponse**](payment-link-sequence-type-response.md)> | If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). | [optional] +**customer_id** | Option<**String**> | **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::CreatePaymentLinkRequestLinks**](create_payment_link_request__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLinkSequenceType.md b/docs/PaymentLinkSequenceType.md new file mode 100644 index 0000000..ab904fd --- /dev/null +++ b/docs/PaymentLinkSequenceType.md @@ -0,0 +1,13 @@ +# PaymentLinkSequenceType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Oneoff | oneoff | +| First | first | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLinkSequenceTypeResponse.md b/docs/PaymentLinkSequenceTypeResponse.md new file mode 100644 index 0000000..e430557 --- /dev/null +++ b/docs/PaymentLinkSequenceTypeResponse.md @@ -0,0 +1,13 @@ +# PaymentLinkSequenceTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Oneoff | oneoff | +| First | first | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentLinksApiApi.md b/docs/PaymentLinksApiApi.md new file mode 100644 index 0000000..f112f18 --- /dev/null +++ b/docs/PaymentLinksApiApi.md @@ -0,0 +1,209 @@ +# \PaymentLinksApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_payment_link**](PaymentLinksApiApi.md#create_payment_link) | **POST** /payment-links | Create payment link +[**delete_payment_link**](PaymentLinksApiApi.md#delete_payment_link) | **DELETE** /payment-links/{paymentLinkId} | Delete payment link +[**get_payment_link**](PaymentLinksApiApi.md#get_payment_link) | **GET** /payment-links/{paymentLinkId} | Get payment link +[**get_payment_link_payments**](PaymentLinksApiApi.md#get_payment_link_payments) | **GET** /payment-links/{paymentLinkId}/payments | Get payment link payments +[**list_payment_links**](PaymentLinksApiApi.md#list_payment_links) | **GET** /payment-links | List payment links +[**update_payment_link**](PaymentLinksApiApi.md#update_payment_link) | **PATCH** /payment-links/{paymentLinkId} | Update payment link + + + +## create_payment_link + +> models::PaymentLinkResponse create_payment_link(idempotency_key, create_payment_link_request) +Create payment link + +With the Payment links API you can generate payment links that by default, unlike regular payments, do not expire. The payment link can be shared with your customers and will redirect them to them the payment page where they can complete the payment. A [payment](get-payment) will only be created once the customer initiates the payment. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**create_payment_link_request** | Option<[**CreatePaymentLinkRequest**](CreatePaymentLinkRequest.md)> | | | + +### Return type + +[**models::PaymentLinkResponse**](payment-link-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_payment_link + +> serde_json::Value delete_payment_link(payment_link_id, idempotency_key, delete_webhook_request) +Delete payment link + +Payment links which have not been opened and no payments have been made yet can be deleted entirely. This can be useful for removing payment links that have been incorrectly configured or that are no longer relevant. Once deleted, the payment link will no longer show up in the API or Mollie dashboard. To simply disable a payment link without fully deleting it, you can use the `archived` parameter on the [Update payment link](update-payment-link) endpoint instead. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_link_id** | **String** | Provide the ID of the related payment link. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_payment_link + +> models::PaymentLinkResponse get_payment_link(payment_link_id, testmode, idempotency_key) +Get payment link + +Retrieve a single payment link by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_link_id** | **String** | Provide the ID of the related payment link. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::PaymentLinkResponse**](payment-link-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_payment_link_payments + +> models::ListSettlementPayments200Response get_payment_link_payments(payment_link_id, from, limit, sort, testmode, idempotency_key) +Get payment link payments + +Retrieve the list of payments for a specific payment link. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_link_id** | **String** | Provide the ID of the related payment link. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementPayments200Response**](list_settlement_payments_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_payment_links + +> models::ListPaymentLinks200Response list_payment_links(from, limit, testmode, idempotency_key) +List payment links + +Retrieve a list of all payment links. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListPaymentLinks200Response**](list_payment_links_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_payment_link + +> models::PaymentLinkResponse update_payment_link(payment_link_id, idempotency_key, update_payment_link_request) +Update payment link + +Certain details of an existing payment link can be updated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_link_id** | **String** | Provide the ID of the related payment link. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**update_payment_link_request** | Option<[**UpdatePaymentLinkRequest**](UpdatePaymentLinkRequest.md)> | | | + +### Return type + +[**models::PaymentLinkResponse**](payment-link-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/PaymentListRoutes200Response.md b/docs/PaymentListRoutes200Response.md new file mode 100644 index 0000000..858471f --- /dev/null +++ b/docs/PaymentListRoutes200Response.md @@ -0,0 +1,13 @@ +# PaymentListRoutes200Response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. | [optional] +**_embedded** | Option<[**models::PaymentListRoutes200ResponseEmbedded**](payment_list_routes_200_response__embedded.md)> | | [optional] +**_links** | Option<[**models::PaymentListRoutes200ResponseLinks**](payment_list_routes_200_response__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentListRoutes200ResponseEmbedded.md b/docs/PaymentListRoutes200ResponseEmbedded.md new file mode 100644 index 0000000..0da6d61 --- /dev/null +++ b/docs/PaymentListRoutes200ResponseEmbedded.md @@ -0,0 +1,11 @@ +# PaymentListRoutes200ResponseEmbedded + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**routes** | Option<[**Vec**](route-get-response.md)> | An array of route objects. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentListRoutes200ResponseLinks.md b/docs/PaymentListRoutes200ResponseLinks.md new file mode 100644 index 0000000..b66d35c --- /dev/null +++ b/docs/PaymentListRoutes200ResponseLinks.md @@ -0,0 +1,12 @@ +# PaymentListRoutes200ResponseLinks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**param_self** | Option<[**models::Url**](url.md)> | The URL to the current set of items. | [optional] +**documentation** | Option<[**models::Url**](url.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentMethod.md b/docs/PaymentMethod.md new file mode 100644 index 0000000..a5292bf --- /dev/null +++ b/docs/PaymentMethod.md @@ -0,0 +1,55 @@ +# PaymentMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| Alma | alma | +| Bacs | bacs | +| Applepay | applepay | +| Bancomatpay | bancomatpay | +| Bancontact | bancontact | +| Banktransfer | banktransfer | +| Belfius | belfius | +| Billie | billie | +| Bizum | bizum | +| Bitcoin | bitcoin | +| Blik | blik | +| Creditcard | creditcard | +| Directdebit | directdebit | +| Eps | eps | +| Giftcard | giftcard | +| Giropay | giropay | +| Googlepay | googlepay | +| Ideal | ideal | +| In3 | in3 | +| Inghomepay | inghomepay | +| Kbc | kbc | +| Klarnapaylater | klarnapaylater | +| Klarnapaynow | klarnapaynow | +| Klarnasliceit | klarnasliceit | +| Klarna | klarna | +| Mbway | mbway | +| Mobilepay | mobilepay | +| Multibanco | multibanco | +| Mybank | mybank | +| Paybybank | paybybank | +| Payconiq | payconiq | +| Paypal | paypal | +| Paysafecard | paysafecard | +| Przelewy24 | przelewy24 | +| Riverty | riverty | +| Satispay | satispay | +| Podiumcadeaukaart | podiumcadeaukaart | +| Pointofsale | pointofsale | +| Sofort | sofort | +| Swish | swish | +| Trustly | trustly | +| Twint | twint | +| Vipps | vipps | +| Voucher | voucher | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentRequest.md b/docs/PaymentRequest.md new file mode 100644 index 0000000..d40b9af --- /dev/null +++ b/docs/PaymentRequest.md @@ -0,0 +1,69 @@ +# PaymentRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. | [optional] +**amount_refunded** | Option<[**models::Amount**](amount.md)> | The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. | [optional][readonly] +**amount_remaining** | Option<[**models::Amount**](amount.md)> | The remaining amount that can be refunded. Only available when refunds are available for this payment. | [optional][readonly] +**amount_captured** | Option<[**models::Amount**](amount.md)> | The total amount that is already captured for this payment. Only available when this payment supports captures. | [optional][readonly] +**amount_charged_back** | Option<[**models::Amount**](amount.md)> | The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. | [optional][readonly] +**settlement_amount** | Option<[**models::Amount**](amount.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. | [optional] +**cancel_url** | Option<**String**> | The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](entity_payment_lines_inner.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::EntityPaymentBillingAddress**](entity_payment_billingAddress.md)> | | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**locale** | Option<[**models::Locale**](locale.md)> | Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. | [optional] +**country_code** | Option<**String**> | This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. | [optional][readonly] +**method** | Option<[**models::Method**](method.md)> | | [optional] +**issuer** | Option<**String**> | **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). | [optional] +**restrict_payment_methods_to_country** | Option<**String**> | For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**capture_mode** | Option<[**models::CaptureMode**](capture-mode.md)> | | [optional] +**capture_delay** | Option<**String**> | **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` | [optional] +**capture_before** | Option<**String**> | Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**application_fee** | Option<[**models::EntityPaymentApplicationFee**](entity_payment_applicationFee.md)> | | [optional] +**routing** | Option<[**Vec**](entity-payment-route.md)> | *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. | [optional] +**sequence_type** | Option<[**models::SequenceType**](sequence-type.md)> | **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. | [optional] +**subscription_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**customer_id** | Option<**String**> | | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**settlement_id** | Option<**String**> | | [optional] +**order_id** | Option<**String**> | | [optional] +**status** | Option<[**models::PaymentStatus**](payment-status.md)> | | [optional][readonly] +**status_reason** | Option<[**models::StatusReason**](status-reason.md)> | | [optional] +**is_cancelable** | Option<**bool**> | Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. | [optional][readonly] +**details** | Option<[**models::EntityPaymentDetails**](entity_payment_details.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**authorized_at** | Option<**String**> | The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). | [optional][readonly] +**canceled_at** | Option<**String**> | The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. | [optional][readonly] +**expired_at** | Option<**String**> | The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). | [optional][readonly] +**failed_at** | Option<**String**> | The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). | [optional][readonly] +**due_date** | Option<**String**> | The date by which the payment should be completed in `YYYY-MM-DD` format | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityPaymentLinks**](entity_payment__links.md)> | | [optional] +**apple_pay_payment_token** | Option<**String**> | The Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. The token contains the payment information needed to authorize the payment. The object should be passed encoded in a JSON string. | [optional] +**company** | Option<[**models::ExtraParameterParametersCompany**](extra_parameter_parameters_company.md)> | | [optional] +**card_token** | Option<**String**> | When creating credit card payments using Mollie Components, you need to provide the card token you received from the card component in this field. The token represents the customer's card information needed to complete the payment. Note: field only valid for oneoff and first payments. For recurring payments, the customerId alone is enough. | [optional] +**voucher_number** | Option<**String**> | The card token you received from the card component of Mollie Components. The token represents the customer's card information needed to complete the payment. | [optional] +**voucher_pin** | Option<**String**> | The PIN on the gift card. You can supply this to prefill the PIN, if the card has any. | [optional] +**consumer_date_of_birth** | Option<[**String**](string.md)> | The customer's date of birth. If not provided via the API, iDeal in3 will ask the customer to provide it during the payment process. | [optional] +**extra_merchant_data** | Option<[**std::collections::HashMap**](serde_json::Value.md)> | For some industries, additional purchase information can be sent to Klarna to increase the authorization rate. You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation. | [optional] +**session_id** | Option<**String**> | The unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an on-demand payment. | [optional] +**digital_goods** | Option<**bool**> | Indicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information. | [optional] +**customer_reference** | Option<**String**> | Used by paysafecard for customer identification across payments. When you generate a customer reference yourself, make sure not to put personal identifiable information or IP addresses in the customer reference directly. | [optional] +**terminal_id** | Option<**String**> | The ID of the terminal device where you want to initiate the payment on. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentResponse.md b/docs/PaymentResponse.md new file mode 100644 index 0000000..8ede70a --- /dev/null +++ b/docs/PaymentResponse.md @@ -0,0 +1,58 @@ +# PaymentResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**description** | Option<**String**> | The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. | [optional] +**amount_refunded** | Option<[**models::Amount**](amount.md)> | The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. | [optional][readonly] +**amount_remaining** | Option<[**models::Amount**](amount.md)> | The remaining amount that can be refunded. Only available when refunds are available for this payment. | [optional][readonly] +**amount_captured** | Option<[**models::Amount**](amount.md)> | The total amount that is already captured for this payment. Only available when this payment supports captures. | [optional][readonly] +**amount_charged_back** | Option<[**models::Amount**](amount.md)> | The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. | [optional][readonly] +**settlement_amount** | Option<[**models::Amount**](amount.md)> | This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. | [optional][readonly] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. | [optional] +**cancel_url** | Option<**String**> | The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**lines** | Option<[**Vec**](entity_payment_response_lines_inner.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::EntityPaymentBillingAddress**](entity_payment_billingAddress.md)> | | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**locale** | Option<[**models::LocaleResponse**](locale-response.md)> | Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. | [optional] +**country_code** | Option<**String**> | This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. | [optional][readonly] +**method** | Option<[**models::MethodResponse**](method-response.md)> | The payment method used for this transaction. If a specific method was selected during payment initialization, this field reflects that choice. | [optional] +**issuer** | Option<**String**> | **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). | [optional] +**restrict_payment_methods_to_country** | Option<**String**> | For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**capture_mode** | Option<[**models::CaptureModeResponse**](capture-mode-response.md)> | | [optional] +**capture_delay** | Option<**String**> | **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` | [optional] +**capture_before** | Option<**String**> | Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**application_fee** | Option<[**models::EntityPaymentApplicationFee**](entity_payment_applicationFee.md)> | | [optional] +**routing** | Option<[**Vec**](entity-payment-route-response.md)> | *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. | [optional] +**sequence_type** | Option<[**models::SequenceTypeResponse**](sequence-type-response.md)> | **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. | [optional] +**subscription_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**customer_id** | Option<**String**> | | [optional] +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**settlement_id** | Option<**String**> | | [optional] +**order_id** | Option<**String**> | | [optional] +**status** | Option<[**models::PaymentStatus**](payment-status.md)> | | [optional][readonly] +**status_reason** | Option<[**models::StatusReason**](status-reason.md)> | | [optional] +**is_cancelable** | Option<**bool**> | Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. | [optional][readonly] +**details** | Option<[**models::EntityPaymentResponseDetails**](entity_payment_response_details.md)> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**authorized_at** | Option<**String**> | The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). | [optional][readonly] +**paid_at** | Option<**String**> | The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). | [optional][readonly] +**canceled_at** | Option<**String**> | The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). | [optional][readonly] +**expires_at** | Option<**String**> | The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. | [optional][readonly] +**expired_at** | Option<**String**> | The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). | [optional][readonly] +**failed_at** | Option<**String**> | The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). | [optional][readonly] +**due_date** | Option<**String**> | The date by which the payment should be completed in `YYYY-MM-DD` format | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityPaymentLinks**](entity_payment__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentStatus.md b/docs/PaymentStatus.md new file mode 100644 index 0000000..0363e6d --- /dev/null +++ b/docs/PaymentStatus.md @@ -0,0 +1,18 @@ +# PaymentStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Open | open | +| Pending | pending | +| Authorized | authorized | +| Paid | paid | +| Canceled | canceled | +| Expired | expired | +| Failed | failed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentsApiApi.md b/docs/PaymentsApiApi.md new file mode 100644 index 0000000..4072445 --- /dev/null +++ b/docs/PaymentsApiApi.md @@ -0,0 +1,211 @@ +# \PaymentsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**cancel_payment**](PaymentsApiApi.md#cancel_payment) | **DELETE** /payments/{paymentId} | Cancel payment +[**create_payment**](PaymentsApiApi.md#create_payment) | **POST** /payments | Create payment +[**get_payment**](PaymentsApiApi.md#get_payment) | **GET** /payments/{paymentId} | Get payment +[**list_payments**](PaymentsApiApi.md#list_payments) | **GET** /payments | List payments +[**release_authorization**](PaymentsApiApi.md#release_authorization) | **POST** /payments/{paymentId}/release-authorization | Release payment authorization +[**update_payment**](PaymentsApiApi.md#update_payment) | **PATCH** /payments/{paymentId} | Update payment + + + +## cancel_payment + +> models::PaymentResponse cancel_payment(payment_id, idempotency_key, cancel_payment_request) +Cancel payment + +Depending on the payment method, you may be able to cancel a payment for a certain amount of time — usually until the next business day or as long as the payment status is open. Payments may also be canceled manually from the Mollie Dashboard. The `isCancelable` property on the [Payment object](get-payment) will indicate if the payment can be canceled. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**cancel_payment_request** | Option<[**CancelPaymentRequest**](CancelPaymentRequest.md)> | | | + +### Return type + +[**models::PaymentResponse**](payment-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## create_payment + +> models::PaymentResponse create_payment(include, idempotency_key, payment_request) +Create payment + +Payment creation is elemental to the Mollie API: this is where most payment implementations start off. Once you have created a payment, you should redirect your customer to the URL in the `_links.checkout` property from the response. To wrap your head around the payment process, an explanation and flow charts can be found in the 'Accepting payments' guide. If you specify the `method` parameter when creating a payment, optional additional parameters may be available for the payment method that are not listed below. Please refer to the guide on [method-specific parameters](extra-payment-parameters). + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**payment_request** | Option<[**PaymentRequest**](PaymentRequest.md)> | | | + +### Return type + +[**models::PaymentResponse**](payment-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_payment + +> models::PaymentResponse get_payment(payment_id, include, embed, testmode, idempotency_key) +Get payment + +Retrieve a single payment object by its payment ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**include** | Option<**String**> | This endpoint allows you to include additional information via the `include` query string parameter. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::PaymentResponse**](payment-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_payments + +> models::ListSettlementPayments200Response list_payments(from, limit, sort, profile_id, testmode, idempotency_key) +List payments + +Retrieve all payments created with the current website profile. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementPayments200Response**](list_settlement_payments_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## release_authorization + +> serde_json::Value release_authorization(payment_id, idempotency_key, release_authorization_request) +Release payment authorization + +Releases the full remaining authorized amount. Call this endpoint when you will not be making any additional captures. Payment authorizations may also be released manually from the Mollie Dashboard. Mollie will do its best to process release requests, but it is not guaranteed that it will succeed. It is up to the issuing bank if and when the hold will be released. If the request does succeed, the payment status will change to `canceled` for payments without captures. If there is a successful capture, the payment will transition to `paid`. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**release_authorization_request** | Option<[**ReleaseAuthorizationRequest**](ReleaseAuthorizationRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_payment + +> models::PaymentResponse update_payment(payment_id, idempotency_key, update_payment_request) +Update payment + +Certain details of an existing payment can be updated. Updating the payment details will not result in a webhook call. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**update_payment_request** | Option<[**UpdatePaymentRequest**](UpdatePaymentRequest.md)> | | | + +### Return type + +[**models::PaymentResponse**](payment-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/PermissionsApiApi.md b/docs/PermissionsApiApi.md new file mode 100644 index 0000000..c4e7ed8 --- /dev/null +++ b/docs/PermissionsApiApi.md @@ -0,0 +1,72 @@ +# \PermissionsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_permission**](PermissionsApiApi.md#get_permission) | **GET** /permissions/{permissionId} | Get permission +[**list_permissions**](PermissionsApiApi.md#list_permissions) | **GET** /permissions | List permissions + + + +## get_permission + +> models::EntityPermission get_permission(permission_id, testmode, idempotency_key) +Get permission + +Retrieve a single permission by its ID, and see if the permission is granted to the current access token. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**permission_id** | **String** | Provide the ID of the related permission. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityPermission**](entity-permission.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_permissions + +> models::ListPermissions200Response list_permissions(idempotency_key) +List permissions + +Retrieve a list of all permissions available to the current access token. The results are **not** paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListPermissions200Response**](list_permissions_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProfileReviewStatus.md b/docs/ProfileReviewStatus.md new file mode 100644 index 0000000..cc2da6d --- /dev/null +++ b/docs/ProfileReviewStatus.md @@ -0,0 +1,13 @@ +# ProfileReviewStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pending | pending | +| Rejected | rejected | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProfileReviewStatusResponse.md b/docs/ProfileReviewStatusResponse.md new file mode 100644 index 0000000..95b2f99 --- /dev/null +++ b/docs/ProfileReviewStatusResponse.md @@ -0,0 +1,13 @@ +# ProfileReviewStatusResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pending | pending | +| Rejected | rejected | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProfileStatus.md b/docs/ProfileStatus.md new file mode 100644 index 0000000..a614d12 --- /dev/null +++ b/docs/ProfileStatus.md @@ -0,0 +1,14 @@ +# ProfileStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Unverified | unverified | +| Verified | verified | +| Blocked | blocked | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProfilesApiApi.md b/docs/ProfilesApiApi.md new file mode 100644 index 0000000..a68f55a --- /dev/null +++ b/docs/ProfilesApiApi.md @@ -0,0 +1,202 @@ +# \ProfilesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_profile**](ProfilesApiApi.md#create_profile) | **POST** /profiles | Create profile +[**delete_profile**](ProfilesApiApi.md#delete_profile) | **DELETE** /profiles/{id} | Delete profile +[**get_current_profile**](ProfilesApiApi.md#get_current_profile) | **GET** /profiles/me | Get current profile +[**get_profile**](ProfilesApiApi.md#get_profile) | **GET** /profiles/{id} | Get profile +[**list_profiles**](ProfilesApiApi.md#list_profiles) | **GET** /profiles | List profiles +[**update_profile**](ProfilesApiApi.md#update_profile) | **PATCH** /profiles/{id} | Update profile + + + +## create_profile + +> models::EntityProfileResponse create_profile(entity_profile, idempotency_key) +Create profile + +Create a profile to process payments on. Profiles are required for payment processing. Normally they are created via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile creation. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**entity_profile** | [**EntityProfile**](EntityProfile.md) | | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityProfileResponse**](entity-profile-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_profile + +> serde_json::Value delete_profile(id, idempotency_key) +Delete profile + +Delete a profile. A deleted profile and its related credentials can no longer be used for accepting payments. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_current_profile + +> models::EntityProfileResponse get_current_profile(idempotency_key) +Get current profile + +Retrieve the currently authenticated profile. A convenient alias of the [Get profile](get-profile) endpoint. For a complete reference of the profile object, refer to the [Get profile](get-profile) endpoint documentation. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityProfileResponse**](entity-profile-response.md) + +### Authorization + +[apiKey](../README.md#apiKey) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_profile + +> models::EntityProfileResponse get_profile(id, testmode, idempotency_key) +Get profile + +Retrieve a single profile by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityProfileResponse**](entity-profile-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_profiles + +> models::ListProfiles200Response list_profiles(from, limit, idempotency_key) +List profiles + +Retrieve a list of all of your profiles. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListProfiles200Response**](list_profiles_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_profile + +> models::EntityProfileResponse update_profile(id, update_profile_request, idempotency_key) +Update profile + +Update an existing profile. Profiles are required for payment processing. Normally they are created and updated via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile management. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**update_profile_request** | [**UpdateProfileRequest**](UpdateProfileRequest.md) | | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityProfileResponse**](entity-profile-response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProfilesProfileIdMethodsIdProfileIdParameter.md b/docs/ProfilesProfileIdMethodsIdProfileIdParameter.md new file mode 100644 index 0000000..d5e7361 --- /dev/null +++ b/docs/ProfilesProfileIdMethodsIdProfileIdParameter.md @@ -0,0 +1,11 @@ +# ProfilesProfileIdMethodsIdProfileIdParameter + +## Enum Variants + +| Name | Description | +|---- | -----| +| String | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RecurringLineItem.md b/docs/RecurringLineItem.md new file mode 100644 index 0000000..ed3c897 --- /dev/null +++ b/docs/RecurringLineItem.md @@ -0,0 +1,15 @@ +# RecurringLineItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | A description of the recurring item. If not present, the main description of the item will be used. | [optional] +**interval** | **String** | Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`. Possible values: `... days`, `... weeks`, `... months`. | +**amount** | Option<[**models::Amount**](amount.md)> | Total amount and currency of the recurring item. | [optional] +**times** | Option<**i32**> | Total number of charges for the subscription to complete. Leave empty for ongoing subscription. | [optional] +**start_date** | Option<**String**> | The start date of the subscription if it does not start right away (format `YYYY-MM-DD`) | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundExternalReferenceType.md b/docs/RefundExternalReferenceType.md new file mode 100644 index 0000000..abbc610 --- /dev/null +++ b/docs/RefundExternalReferenceType.md @@ -0,0 +1,12 @@ +# RefundExternalReferenceType + +## Enum Variants + +| Name | Value | +|---- | -----| +| AcquirerReference | acquirer-reference | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundExternalReferenceTypeResponse.md b/docs/RefundExternalReferenceTypeResponse.md new file mode 100644 index 0000000..aa65e3a --- /dev/null +++ b/docs/RefundExternalReferenceTypeResponse.md @@ -0,0 +1,12 @@ +# RefundExternalReferenceTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| AcquirerReference | acquirer-reference | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundRequest.md b/docs/RefundRequest.md new file mode 100644 index 0000000..c9ef4de --- /dev/null +++ b/docs/RefundRequest.md @@ -0,0 +1,26 @@ +# RefundRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. | [readonly] +**id** | **String** | | +**mode** | [**models::Mode**](mode.md) | | +**description** | **String** | The description of the refund that may be shown to your customer, depending on the payment method used. | +**amount** | [**models::Amount**](amount.md) | The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. | +**settlement_amount** | Option<[**models::AmountNullable**](amount-nullable.md)> | This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. | [optional][readonly] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | +**payment_id** | Option<**String**> | | [optional] +**settlement_id** | Option<**String**> | | [optional] +**status** | [**models::RefundStatus**](refund-status.md) | | [readonly] +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] +**external_reference** | Option<[**models::EntityRefundExternalReference**](entity_refund_externalReference.md)> | | [optional] +**reverse_routing** | Option<**bool**> | *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. | [optional] +**routing_reversals** | Option<[**Vec**](entity_refund_routingReversals_inner.md)> | *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | [**models::EntityRefundLinks**](entity_refund__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundRoutingReversalsSourceType.md b/docs/RefundRoutingReversalsSourceType.md new file mode 100644 index 0000000..4b0963b --- /dev/null +++ b/docs/RefundRoutingReversalsSourceType.md @@ -0,0 +1,12 @@ +# RefundRoutingReversalsSourceType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Organization | organization | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundStatus.md b/docs/RefundStatus.md new file mode 100644 index 0000000..6b92bc0 --- /dev/null +++ b/docs/RefundStatus.md @@ -0,0 +1,17 @@ +# RefundStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Queued | queued | +| Pending | pending | +| Processing | processing | +| Refunded | refunded | +| Failed | failed | +| Canceled | canceled | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RefundsApiApi.md b/docs/RefundsApiApi.md new file mode 100644 index 0000000..85dac4c --- /dev/null +++ b/docs/RefundsApiApi.md @@ -0,0 +1,183 @@ +# \RefundsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**cancel_refund**](RefundsApiApi.md#cancel_refund) | **DELETE** /payments/{paymentId}/refunds/{refundId} | Cancel payment refund +[**create_refund**](RefundsApiApi.md#create_refund) | **POST** /payments/{paymentId}/refunds | Create payment refund +[**get_refund**](RefundsApiApi.md#get_refund) | **GET** /payments/{paymentId}/refunds/{refundId} | Get payment refund +[**list_all_refunds**](RefundsApiApi.md#list_all_refunds) | **GET** /refunds | List all refunds +[**list_refunds**](RefundsApiApi.md#list_refunds) | **GET** /payments/{paymentId}/refunds | List payment refunds + + + +## cancel_refund + +> serde_json::Value cancel_refund(payment_id, refund_id, testmode, idempotency_key) +Cancel payment refund + +Refunds will be executed with a delay of two hours. Until that time, refunds may be canceled manually via the Mollie Dashboard, or by using this endpoint. A refund can only be canceled while its `status` field is either `queued` or `pending`. See the [Get refund endpoint](get-refund) for more information. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**refund_id** | **String** | Provide the ID of the related refund. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## create_refund + +> models::EntityRefundResponse create_refund(payment_id, idempotency_key, refund_request) +Create payment refund + +Creates a refund for a specific payment. The refunded amount is credited to your customer usually either via a bank transfer or by refunding the amount to your customer's credit card. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**refund_request** | Option<[**RefundRequest**](RefundRequest.md)> | | | + +### Return type + +[**models::EntityRefundResponse**](entity-refund-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_refund + +> models::EntityRefundResponse get_refund(payment_id, refund_id, embed, testmode, idempotency_key) +Get payment refund + +Retrieve a single payment refund by its ID and the ID of its parent payment. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**refund_id** | **String** | Provide the ID of the related refund. | [required] | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityRefundResponse**](entity-refund-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_all_refunds + +> models::ListSettlementRefunds200Response list_all_refunds(from, limit, sort, embed, profile_id, testmode, idempotency_key) +List all refunds + +Retrieve a list of all of your refunds. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementRefunds200Response**](list_settlement_refunds_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_refunds + +> models::ListSettlementRefunds200Response list_refunds(payment_id, from, limit, embed, testmode, idempotency_key) +List payment refunds + +Retrieve a list of all refunds created for a specific payment. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**payment_id** | **String** | Provide the ID of the related payment. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementRefunds200Response**](list_settlement_refunds_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ReleaseAuthorizationRequest.md b/docs/ReleaseAuthorizationRequest.md new file mode 100644 index 0000000..82849c8 --- /dev/null +++ b/docs/ReleaseAuthorizationRequest.md @@ -0,0 +1,12 @@ +# ReleaseAuthorizationRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RequestApplePayPaymentSessionRequest.md b/docs/RequestApplePayPaymentSessionRequest.md new file mode 100644 index 0000000..2837b3e --- /dev/null +++ b/docs/RequestApplePayPaymentSessionRequest.md @@ -0,0 +1,13 @@ +# RequestApplePayPaymentSessionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**validation_url** | **String** | The validationUrl you got from the [ApplePayValidateMerchant event](https://developer.apple.com/documentation/apple_pay_on_the_web/applepayvalidatemerchantevent). A list of all [valid host names](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server) for merchant validation is available. You should white list these in your application and reject any `validationUrl`s that have a host name not in the list. | +**domain** | **String** | The domain of your web shop, that is visible in the browser's location bar. For example `pay.myshop.com`. | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteCreateRequest.md b/docs/RouteCreateRequest.md new file mode 100644 index 0000000..c339520 --- /dev/null +++ b/docs/RouteCreateRequest.md @@ -0,0 +1,18 @@ +# RouteCreateRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**payment_id** | Option<**String**> | | [optional] +**amount** | Option<[**models::Amount**](amount.md)> | The amount of the route. That amount that will be routed to the specified destination. | [optional] +**description** | Option<**String**> | The description of the route. This description is shown in the reports. | [optional] +**destination** | Option<[**models::RouteCreateRequestDestination**](route_create_request_destination.md)> | | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntityWebhookLinks**](entity_webhook__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteCreateRequestDestination.md b/docs/RouteCreateRequestDestination.md new file mode 100644 index 0000000..8780984 --- /dev/null +++ b/docs/RouteCreateRequestDestination.md @@ -0,0 +1,12 @@ +# RouteCreateRequestDestination + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::RouteDestinationType**](route-destination-type.md) | | +**organization_id** | **String** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteCreateResponse.md b/docs/RouteCreateResponse.md new file mode 100644 index 0000000..c2a5dbd --- /dev/null +++ b/docs/RouteCreateResponse.md @@ -0,0 +1,18 @@ +# RouteCreateResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [readonly] +**id** | **String** | | +**payment_id** | **String** | | +**amount** | [**models::Amount**](amount.md) | The amount of the route. That amount that will be routed to the specified destination. | +**description** | **String** | The description of the route. This description is shown in the reports. | +**destination** | [**models::EntityRouteDestination**](entity_route_destination.md) | | +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | [**models::EntityWebhookLinks**](entity_webhook__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteDestinationType.md b/docs/RouteDestinationType.md new file mode 100644 index 0000000..3cd3b3f --- /dev/null +++ b/docs/RouteDestinationType.md @@ -0,0 +1,12 @@ +# RouteDestinationType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Organization | organization | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteDestinationTypeResponse.md b/docs/RouteDestinationTypeResponse.md new file mode 100644 index 0000000..b2f5ed4 --- /dev/null +++ b/docs/RouteDestinationTypeResponse.md @@ -0,0 +1,12 @@ +# RouteDestinationTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Organization | organization | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RouteGetResponse.md b/docs/RouteGetResponse.md new file mode 100644 index 0000000..3838c68 --- /dev/null +++ b/docs/RouteGetResponse.md @@ -0,0 +1,19 @@ +# RouteGetResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a route object. Will always contain the string `route` for this endpoint. | [readonly] +**id** | **String** | | +**payment_id** | **String** | | +**amount** | [**models::Amount**](amount.md) | The amount of the route. That amount that will be routed to the specified destination. | +**description** | **String** | The description of the route. This description is shown in the reports. | +**destination** | [**models::EntityRouteDestination**](entity_route_destination.md) | | +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | [**models::EntityWebhookLinks**](entity_webhook__links.md) | | +**created_at** | **String** | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [readonly] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceDiscount.md b/docs/SalesInvoiceDiscount.md new file mode 100644 index 0000000..36b5823 --- /dev/null +++ b/docs/SalesInvoiceDiscount.md @@ -0,0 +1,12 @@ +# SalesInvoiceDiscount + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::SalesInvoiceDiscountType**](sales-invoice-discount-type.md) | | +**value** | **String** | A string containing an exact monetary amount in the given currency, or the percentage. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceDiscountResponse.md b/docs/SalesInvoiceDiscountResponse.md new file mode 100644 index 0000000..6032b68 --- /dev/null +++ b/docs/SalesInvoiceDiscountResponse.md @@ -0,0 +1,12 @@ +# SalesInvoiceDiscountResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::SalesInvoiceDiscountTypeResponse**](sales-invoice-discount-type-response.md) | | +**value** | **String** | A string containing an exact monetary amount in the given currency, or the percentage. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceDiscountType.md b/docs/SalesInvoiceDiscountType.md new file mode 100644 index 0000000..9bd06b5 --- /dev/null +++ b/docs/SalesInvoiceDiscountType.md @@ -0,0 +1,13 @@ +# SalesInvoiceDiscountType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Amount | amount | +| Percentage | percentage | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceDiscountTypeResponse.md b/docs/SalesInvoiceDiscountTypeResponse.md new file mode 100644 index 0000000..7fb6b78 --- /dev/null +++ b/docs/SalesInvoiceDiscountTypeResponse.md @@ -0,0 +1,13 @@ +# SalesInvoiceDiscountTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Amount | amount | +| Percentage | percentage | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceEmailDetails.md b/docs/SalesInvoiceEmailDetails.md new file mode 100644 index 0000000..5af3260 --- /dev/null +++ b/docs/SalesInvoiceEmailDetails.md @@ -0,0 +1,12 @@ +# SalesInvoiceEmailDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**subject** | **String** | The subject of the email to be sent. | +**body** | **String** | The body of the email to be sent. To add newline characters, you can use `\\n`. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceLineItem.md b/docs/SalesInvoiceLineItem.md new file mode 100644 index 0000000..88d2af2 --- /dev/null +++ b/docs/SalesInvoiceLineItem.md @@ -0,0 +1,15 @@ +# SalesInvoiceLineItem + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**vat_rate** | **String** | The vat rate to be applied to this line item. | +**unit_price** | [**models::Amount**](amount.md) | The price of a single item excluding VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. The unit price can be zero in case of free items. | +**discount** | Option<[**models::SalesInvoiceDiscount**](sales-invoice-discount.md)> | The discount to be applied to the line item. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceLineItemResponse.md b/docs/SalesInvoiceLineItemResponse.md new file mode 100644 index 0000000..716f1b7 --- /dev/null +++ b/docs/SalesInvoiceLineItemResponse.md @@ -0,0 +1,15 @@ +# SalesInvoiceLineItemResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **String** | A description of the line item. For example *LEGO 4440 Forest Police Station*. | +**quantity** | **i32** | The number of items. | +**vat_rate** | **String** | The vat rate to be applied to this line item. | +**unit_price** | [**models::Amount**](amount.md) | The price of a single item excluding VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. The unit price can be zero in case of free items. | +**discount** | Option<[**models::SalesInvoiceDiscountResponse**](sales-invoice-discount-response.md)> | The discount to be applied to the line item. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentDetails.md b/docs/SalesInvoicePaymentDetails.md new file mode 100644 index 0000000..f9a8bbc --- /dev/null +++ b/docs/SalesInvoicePaymentDetails.md @@ -0,0 +1,12 @@ +# SalesInvoicePaymentDetails + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source** | [**models::SalesInvoicePaymentDetailsSource**](sales-invoice-payment-details-source.md) | | +**source_reference** | Option<**String**> | A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and `payment`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentDetailsResponse.md b/docs/SalesInvoicePaymentDetailsResponse.md new file mode 100644 index 0000000..9cfd68c --- /dev/null +++ b/docs/SalesInvoicePaymentDetailsResponse.md @@ -0,0 +1,12 @@ +# SalesInvoicePaymentDetailsResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source** | [**models::SalesInvoicePaymentDetailsSourceResponse**](sales-invoice-payment-details-source-response.md) | | +**source_reference** | Option<**String**> | A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and `payment`. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentDetailsSource.md b/docs/SalesInvoicePaymentDetailsSource.md new file mode 100644 index 0000000..f57baa5 --- /dev/null +++ b/docs/SalesInvoicePaymentDetailsSource.md @@ -0,0 +1,14 @@ +# SalesInvoicePaymentDetailsSource + +## Enum Variants + +| Name | Value | +|---- | -----| +| Manual | manual | +| PaymentLink | payment-link | +| Payment | payment | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentDetailsSourceResponse.md b/docs/SalesInvoicePaymentDetailsSourceResponse.md new file mode 100644 index 0000000..8ea5213 --- /dev/null +++ b/docs/SalesInvoicePaymentDetailsSourceResponse.md @@ -0,0 +1,14 @@ +# SalesInvoicePaymentDetailsSourceResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Manual | manual | +| PaymentLink | payment-link | +| Payment | payment | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentTerm.md b/docs/SalesInvoicePaymentTerm.md new file mode 100644 index 0000000..2e1f23a --- /dev/null +++ b/docs/SalesInvoicePaymentTerm.md @@ -0,0 +1,18 @@ +# SalesInvoicePaymentTerm + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant7Days | 7 days | +| Variant14Days | 14 days | +| Variant30Days | 30 days | +| Variant45Days | 45 days | +| Variant60Days | 60 days | +| Variant90Days | 90 days | +| Variant120Days | 120 days | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicePaymentTermResponse.md b/docs/SalesInvoicePaymentTermResponse.md new file mode 100644 index 0000000..23e8f81 --- /dev/null +++ b/docs/SalesInvoicePaymentTermResponse.md @@ -0,0 +1,18 @@ +# SalesInvoicePaymentTermResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Variant7Days | 7 days | +| Variant14Days | 14 days | +| Variant30Days | 30 days | +| Variant45Days | 45 days | +| Variant60Days | 60 days | +| Variant90Days | 90 days | +| Variant120Days | 120 days | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipient.md b/docs/SalesInvoiceRecipient.md new file mode 100644 index 0000000..f9584dd --- /dev/null +++ b/docs/SalesInvoiceRecipient.md @@ -0,0 +1,26 @@ +# SalesInvoiceRecipient + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::SalesInvoiceRecipientType**](sales-invoice-recipient-type.md) | | +**title** | Option<**String**> | The title of the `consumer` type recipient, for example Mr. or Mrs.. | [optional] +**given_name** | Option<**String**> | The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. | [optional] +**family_name** | Option<**String**> | The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. | [optional] +**organization_name** | Option<**String**> | The trading name of the `business` type recipient. | [optional] +**organization_number** | Option<**String**> | The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` has to be provided. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` has to be provided. | [optional] +**email** | **String** | The email address of the recipient. | +**phone** | Option<**String**> | The phone number of the recipient. | [optional] +**street_and_number** | **String** | A street and street number. | +**street_additional** | Option<**String**> | Any additional addressing details, for example an apartment number. | [optional] +**postal_code** | **String** | A postal code. | +**city** | **String** | The recipient's city. | +**region** | Option<**String**> | The recipient's region. | [optional] +**country** | **String** | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | +**locale** | [**models::SalesInvoiceRecipientLocale**](sales-invoice-recipient-locale.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipientLocale.md b/docs/SalesInvoiceRecipientLocale.md new file mode 100644 index 0000000..1bcf9a0 --- /dev/null +++ b/docs/SalesInvoiceRecipientLocale.md @@ -0,0 +1,20 @@ +# SalesInvoiceRecipientLocale + +## Enum Variants + +| Name | Value | +|---- | -----| +| EnUs | en_US | +| EnGb | en_GB | +| NlNl | nl_NL | +| NlBe | nl_BE | +| DeDe | de_DE | +| DeAt | de_AT | +| DeCh | de_CH | +| FrFr | fr_FR | +| FrBe | fr_BE | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipientLocaleResponse.md b/docs/SalesInvoiceRecipientLocaleResponse.md new file mode 100644 index 0000000..8904328 --- /dev/null +++ b/docs/SalesInvoiceRecipientLocaleResponse.md @@ -0,0 +1,20 @@ +# SalesInvoiceRecipientLocaleResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| EnUs | en_US | +| EnGb | en_GB | +| NlNl | nl_NL | +| NlBe | nl_BE | +| DeDe | de_DE | +| DeAt | de_AT | +| DeCh | de_CH | +| FrFr | fr_FR | +| FrBe | fr_BE | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipientResponse.md b/docs/SalesInvoiceRecipientResponse.md new file mode 100644 index 0000000..3760d50 --- /dev/null +++ b/docs/SalesInvoiceRecipientResponse.md @@ -0,0 +1,26 @@ +# SalesInvoiceRecipientResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**r#type** | [**models::SalesInvoiceRecipientTypeResponse**](sales-invoice-recipient-type-response.md) | | +**title** | Option<**String**> | The title of the `consumer` type recipient, for example Mr. or Mrs.. | [optional] +**given_name** | Option<**String**> | The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. | [optional] +**family_name** | Option<**String**> | The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. | [optional] +**organization_name** | Option<**String**> | The trading name of the `business` type recipient. | [optional] +**organization_number** | Option<**String**> | The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` has to be provided. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` has to be provided. | [optional] +**email** | **String** | The email address of the recipient. | +**phone** | Option<**String**> | The phone number of the recipient. | [optional] +**street_and_number** | **String** | A street and street number. | +**street_additional** | Option<**String**> | Any additional addressing details, for example an apartment number. | [optional] +**postal_code** | **String** | A postal code. | +**city** | **String** | The recipient's city. | +**region** | Option<**String**> | The recipient's region. | [optional] +**country** | **String** | A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | +**locale** | [**models::SalesInvoiceRecipientLocaleResponse**](sales-invoice-recipient-locale-response.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipientType.md b/docs/SalesInvoiceRecipientType.md new file mode 100644 index 0000000..96aec55 --- /dev/null +++ b/docs/SalesInvoiceRecipientType.md @@ -0,0 +1,13 @@ +# SalesInvoiceRecipientType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Consumer | consumer | +| Business | business | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceRecipientTypeResponse.md b/docs/SalesInvoiceRecipientTypeResponse.md new file mode 100644 index 0000000..21d123b --- /dev/null +++ b/docs/SalesInvoiceRecipientTypeResponse.md @@ -0,0 +1,13 @@ +# SalesInvoiceRecipientTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Consumer | consumer | +| Business | business | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceStatus.md b/docs/SalesInvoiceStatus.md new file mode 100644 index 0000000..7912b5b --- /dev/null +++ b/docs/SalesInvoiceStatus.md @@ -0,0 +1,14 @@ +# SalesInvoiceStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Draft | draft | +| Issued | issued | +| Paid | paid | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceStatusResponse.md b/docs/SalesInvoiceStatusResponse.md new file mode 100644 index 0000000..db2edbd --- /dev/null +++ b/docs/SalesInvoiceStatusResponse.md @@ -0,0 +1,14 @@ +# SalesInvoiceStatusResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Draft | draft | +| Issued | issued | +| Paid | paid | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceVatMode.md b/docs/SalesInvoiceVatMode.md new file mode 100644 index 0000000..bcd6693 --- /dev/null +++ b/docs/SalesInvoiceVatMode.md @@ -0,0 +1,13 @@ +# SalesInvoiceVatMode + +## Enum Variants + +| Name | Value | +|---- | -----| +| Exclusive | exclusive | +| Inclusive | inclusive | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceVatModeResponse.md b/docs/SalesInvoiceVatModeResponse.md new file mode 100644 index 0000000..576dac6 --- /dev/null +++ b/docs/SalesInvoiceVatModeResponse.md @@ -0,0 +1,13 @@ +# SalesInvoiceVatModeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Exclusive | exclusive | +| Inclusive | inclusive | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceVatScheme.md b/docs/SalesInvoiceVatScheme.md new file mode 100644 index 0000000..386c2a9 --- /dev/null +++ b/docs/SalesInvoiceVatScheme.md @@ -0,0 +1,13 @@ +# SalesInvoiceVatScheme + +## Enum Variants + +| Name | Value | +|---- | -----| +| Standard | standard | +| OneStopShop | one-stop-shop | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoiceVatSchemeResponse.md b/docs/SalesInvoiceVatSchemeResponse.md new file mode 100644 index 0000000..d656188 --- /dev/null +++ b/docs/SalesInvoiceVatSchemeResponse.md @@ -0,0 +1,13 @@ +# SalesInvoiceVatSchemeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Standard | standard | +| OneStopShop | one-stop-shop | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SalesInvoicesApiApi.md b/docs/SalesInvoicesApiApi.md new file mode 100644 index 0000000..f7d703f --- /dev/null +++ b/docs/SalesInvoicesApiApi.md @@ -0,0 +1,173 @@ +# \SalesInvoicesApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_sales_invoice**](SalesInvoicesApiApi.md#create_sales_invoice) | **POST** /sales-invoices | Create sales invoice +[**delete_sales_invoice**](SalesInvoicesApiApi.md#delete_sales_invoice) | **DELETE** /sales-invoices/{id} | Delete sales invoice +[**get_sales_invoice**](SalesInvoicesApiApi.md#get_sales_invoice) | **GET** /sales-invoices/{id} | Get sales invoice +[**list_sales_invoices**](SalesInvoicesApiApi.md#list_sales_invoices) | **GET** /sales-invoices | List sales invoices +[**update_sales_invoice**](SalesInvoicesApiApi.md#update_sales_invoice) | **PATCH** /sales-invoices/{id} | Update sales invoice + + + +## create_sales_invoice + +> models::EntitySalesInvoiceResponse create_sales_invoice(idempotency_key, entity_sales_invoice) +Create sales invoice + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. With the Sales Invoice API you can generate sales invoices to send to your customers. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**entity_sales_invoice** | Option<[**EntitySalesInvoice**](EntitySalesInvoice.md)> | | | + +### Return type + +[**models::EntitySalesInvoiceResponse**](entity-sales-invoice-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_sales_invoice + +> serde_json::Value delete_sales_invoice(id, idempotency_key, delete_values_sales_invoice) +Delete sales invoice + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Sales invoices which are in status `draft` can be deleted. For all other statuses, please use the [Update sales invoice](update-sales-invoice) endpoint instead. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_values_sales_invoice** | Option<[**DeleteValuesSalesInvoice**](DeleteValuesSalesInvoice.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_sales_invoice + +> models::EntitySalesInvoiceResponse get_sales_invoice(id, testmode, idempotency_key) +Get sales invoice + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a single sales invoice by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntitySalesInvoiceResponse**](entity-sales-invoice-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_sales_invoices + +> models::ListSalesInvoices200Response list_sales_invoices(from, limit, testmode, idempotency_key) +List sales invoices + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a list of all sales invoices created through the API. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSalesInvoices200Response**](list_sales_invoices_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_sales_invoice + +> models::EntitySalesInvoiceResponse update_sales_invoice(id, idempotency_key, update_values_sales_invoice) +Update sales invoice + +> 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Certain details of an existing sales invoice can be updated. For `draft` it is all values listed below, but for statuses `paid` and `issued` there are certain additional requirements (`paymentDetails` and `emailDetails`, respectively). + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**update_values_sales_invoice** | Option<[**UpdateValuesSalesInvoice**](UpdateValuesSalesInvoice.md)> | | | + +### Return type + +[**models::EntitySalesInvoiceResponse**](entity-sales-invoice-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/SequenceType.md b/docs/SequenceType.md new file mode 100644 index 0000000..e110a8c --- /dev/null +++ b/docs/SequenceType.md @@ -0,0 +1,14 @@ +# SequenceType + +## Enum Variants + +| Name | Value | +|---- | -----| +| Oneoff | oneoff | +| First | first | +| Recurring | recurring | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SequenceTypeResponse.md b/docs/SequenceTypeResponse.md new file mode 100644 index 0000000..02cea1e --- /dev/null +++ b/docs/SequenceTypeResponse.md @@ -0,0 +1,14 @@ +# SequenceTypeResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Oneoff | oneoff | +| First | first | +| Recurring | recurring | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SettlementStatus.md b/docs/SettlementStatus.md new file mode 100644 index 0000000..3525cd5 --- /dev/null +++ b/docs/SettlementStatus.md @@ -0,0 +1,15 @@ +# SettlementStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Open | open | +| Pending | pending | +| Paidout | paidout | +| Failed | failed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SettlementsApiApi.md b/docs/SettlementsApiApi.md new file mode 100644 index 0000000..adc6139 --- /dev/null +++ b/docs/SettlementsApiApi.md @@ -0,0 +1,284 @@ +# \SettlementsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_next_settlement**](SettlementsApiApi.md#get_next_settlement) | **GET** /settlements/next | Get next settlement +[**get_open_settlement**](SettlementsApiApi.md#get_open_settlement) | **GET** /settlements/open | Get open settlement +[**get_settlement**](SettlementsApiApi.md#get_settlement) | **GET** /settlements/{id} | Get settlement +[**list_settlement_captures**](SettlementsApiApi.md#list_settlement_captures) | **GET** /settlements/{settlementId}/captures | List settlement captures +[**list_settlement_chargebacks**](SettlementsApiApi.md#list_settlement_chargebacks) | **GET** /settlements/{settlementId}/chargebacks | List settlement chargebacks +[**list_settlement_payments**](SettlementsApiApi.md#list_settlement_payments) | **GET** /settlements/{settlementId}/payments | List settlement payments +[**list_settlement_refunds**](SettlementsApiApi.md#list_settlement_refunds) | **GET** /settlements/{settlementId}/refunds | List settlement refunds +[**list_settlements**](SettlementsApiApi.md#list_settlements) | **GET** /settlements | List settlements + + + +## get_next_settlement + +> models::EntitySettlement get_next_settlement(idempotency_key) +Get next settlement + +Retrieve the details of the current settlement, that has not yet been paid out. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntitySettlement**](entity-settlement.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_open_settlement + +> models::EntitySettlement get_open_settlement(idempotency_key) +Get open settlement + +Retrieve the details of the open balance of the organization. This will return a settlement object representing your organization's balance. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntitySettlement**](entity-settlement.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_settlement + +> models::EntitySettlement get_settlement(id, idempotency_key) +Get settlement + +Retrieve a single settlement by its ID. To lookup settlements by their bank reference, replace the ID in the URL by a reference. For example: `1234567.2404.03`. A settlement represents a transfer of your balance funds to your external bank account. Settlements will typically include a report that details what balance transactions have taken place between this settlement and the previous one. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntitySettlement**](entity-settlement.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_settlement_captures + +> models::ListSettlementCaptures200Response list_settlement_captures(settlement_id, from, limit, embed, testmode, idempotency_key) +List settlement captures + +Retrieve all captures included in the given settlement. The response is in the same format as the response of the [List captures endpoint](list-captures). + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**settlement_id** | **String** | Provide the ID of the related settlement. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementCaptures200Response**](list_settlement_captures_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_settlement_chargebacks + +> models::ListSettlementChargebacks200Response list_settlement_chargebacks(settlement_id, from, limit, embed, testmode, idempotency_key) +List settlement chargebacks + +Retrieve all chargebacks 'deducted' from the given settlement. The response is in the same format as the response of the [List chargebacks endpoint](list-chargebacks). + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**settlement_id** | **String** | Provide the ID of the related settlement. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementChargebacks200Response**](list_settlement_chargebacks_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_settlement_payments + +> models::ListSettlementPayments200Response list_settlement_payments(settlement_id, from, limit, sort, profile_id, testmode, idempotency_key) +List settlement payments + +Retrieve all payments included in the given settlement. The response is in the same format as the response of the [List payments endpoint](list-payments). For capture-based payment methods such as Klarna, the payments are not listed here. Refer to the [List captures endpoint](list-captures) endpoint instead. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**settlement_id** | **String** | Provide the ID of the related settlement. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementPayments200Response**](list_settlement_payments_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_settlement_refunds + +> models::ListSettlementRefunds200Response list_settlement_refunds(settlement_id, from, limit, embed, testmode, idempotency_key) +List settlement refunds + +Retrieve all refunds 'deducted' from the given settlement. The response is in the same format as the response of the [List refunds endpoint](list-refunds). + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**settlement_id** | **String** | Provide the ID of the related settlement. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**embed** | Option<**String**> | This endpoint allows embedding related API items by appending the following values via the `embed` query string parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementRefunds200Response**](list_settlement_refunds_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_settlements + +> models::ListSettlements200Response list_settlements(from, limit, balance_id, year, month, currencies, idempotency_key) +List settlements + +Retrieve a list of all your settlements. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**balance_id** | Option<**String**> | Provide the token of the balance to filter the settlements by. This is the balance token that the settlement was settled to. | | +**year** | Option<**String**> | Provide the year to query the settlements. Must be used combined with `month` parameter | | +**month** | Option<**String**> | Provide the month to query the settlements. Must be used combined with `year` parameter | | +**currencies** | Option<**Currencies**> | Provides the currencies to retrieve the settlements. It accepts multiple currencies in a comma-separated format. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlements200Response**](list_settlements_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/StatusReason.md b/docs/StatusReason.md new file mode 100644 index 0000000..9dd77d4 --- /dev/null +++ b/docs/StatusReason.md @@ -0,0 +1,12 @@ +# StatusReason + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **String** | | +**message** | **String** | A description of the status reason, localized according to the payment `locale`. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubGroup.md b/docs/SubGroup.md new file mode 100644 index 0000000..41d53d3 --- /dev/null +++ b/docs/SubGroup.md @@ -0,0 +1,12 @@ +# SubGroup + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | Option<[**models::Amount**](amount.md)> | | [optional] +**subtotals** | Option<[**Vec**](components-sub-totals.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubTotals.md b/docs/SubTotals.md new file mode 100644 index 0000000..314e73b --- /dev/null +++ b/docs/SubTotals.md @@ -0,0 +1,18 @@ +# SubTotals + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | Option<**i32**> | Number of transactions of this type | [optional] +**method** | Option<[**models::PaymentMethod**](payment-method.md)> | Payment type of the transactions | [optional] +**card_issuer** | Option<**String**> | In case of payments transactions with card, the card issuer will be available | [optional] +**card_audience** | Option<**String**> | In case of payments trnsactions with card, the card audience will be available. | [optional] +**card_region** | Option<**String**> | In case of payments transactions with card, the card region will be available. | [optional] +**fee_type** | Option<**String**> | Present when the transaction represents a fee. | [optional] +**prepayment_part_type** | Option<**String**> | Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. | [optional] +**transaction_type** | Option<**String**> | Represents the transaction type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmitOnboardingDataRequest.md b/docs/SubmitOnboardingDataRequest.md new file mode 100644 index 0000000..a9b6b52 --- /dev/null +++ b/docs/SubmitOnboardingDataRequest.md @@ -0,0 +1,12 @@ +# SubmitOnboardingDataRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | Option<[**models::SubmitOnboardingDataRequestOrganization**](submit_onboarding_data_request_organization.md)> | | [optional] +**profile** | Option<[**models::SubmitOnboardingDataRequestProfile**](submit_onboarding_data_request_profile.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmitOnboardingDataRequestOrganization.md b/docs/SubmitOnboardingDataRequestOrganization.md new file mode 100644 index 0000000..239f1b1 --- /dev/null +++ b/docs/SubmitOnboardingDataRequestOrganization.md @@ -0,0 +1,15 @@ +# SubmitOnboardingDataRequestOrganization + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The name of the organization. | [optional] +**address** | Option<[**models::Address**](address.md)> | The address of the organization. | [optional] +**registration_number** | Option<**String**> | The registration number of the organization at their local chamber of commerce. | [optional] +**vat_number** | Option<**String**> | The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are verified against the international registry *VIES*. The field can be omitted for merchants residing in other countries. | [optional] +**vat_regulation** | Option<**String**> | Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United Kingdom, and shifted VAT for merchants in the European Union. The field can be omitted for merchants residing in other countries. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubmitOnboardingDataRequestProfile.md b/docs/SubmitOnboardingDataRequestProfile.md new file mode 100644 index 0000000..499b65e --- /dev/null +++ b/docs/SubmitOnboardingDataRequestProfile.md @@ -0,0 +1,16 @@ +# SubmitOnboardingDataRequestProfile + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. | [optional] +**url** | Option<**String**> | The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. | [optional] +**email** | Option<**String**> | The email address associated with the profile's trade name or brand. | [optional] +**phone** | Option<**String**> | The phone number associated with the profile's trade name or brand. | [optional] +**description** | Option<**String**> | The products or services offered by the profile's website or application. | [optional] +**business_category** | Option<**String**> | The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types) for all possible options. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionMethod.md b/docs/SubscriptionMethod.md new file mode 100644 index 0000000..e2d6f67 --- /dev/null +++ b/docs/SubscriptionMethod.md @@ -0,0 +1,14 @@ +# SubscriptionMethod + +## Enum Variants + +| Name | Value | +|---- | -----| +| Creditcard | creditcard | +| Directdebit | directdebit | +| Paypal | paypal | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionMethodResponse.md b/docs/SubscriptionMethodResponse.md new file mode 100644 index 0000000..d88d86f --- /dev/null +++ b/docs/SubscriptionMethodResponse.md @@ -0,0 +1,14 @@ +# SubscriptionMethodResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| Creditcard | creditcard | +| Directdebit | directdebit | +| Paypal | paypal | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionRequest.md b/docs/SubscriptionRequest.md new file mode 100644 index 0000000..98ce256 --- /dev/null +++ b/docs/SubscriptionRequest.md @@ -0,0 +1,31 @@ +# SubscriptionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**status** | Option<[**models::SubscriptionStatus**](subscription-status.md)> | | [optional][readonly] +**amount** | Option<[**models::Amount**](amount.md)> | The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. | [optional] +**times** | Option<**i32**> | Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. | [optional] +**times_remaining** | Option<**i32**> | Number of payments left for the subscription. | [optional][readonly] +**interval** | Option<**String**> | Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. | [optional] +**start_date** | Option<**String**> | The start date of the subscription in `YYYY-MM-DD` format. | [optional] +**next_payment_date** | Option<**String**> | The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. | [optional][readonly] +**description** | Option<**String**> | The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. | [optional] +**method** | Option<[**models::SubscriptionMethod**](subscription-method.md)> | | [optional] +**application_fee** | Option<[**models::EntitySubscriptionApplicationFee**](entity_subscription_applicationFee.md)> | | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. | [optional] +**webhook_url** | Option<**String**> | We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. | [optional] +**customer_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**canceled_at** | Option<**String**> | The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntitySubscriptionLinks**](entity_subscription__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionResponse.md b/docs/SubscriptionResponse.md new file mode 100644 index 0000000..be2bd76 --- /dev/null +++ b/docs/SubscriptionResponse.md @@ -0,0 +1,31 @@ +# SubscriptionResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | Option<**String**> | Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. | [optional][readonly] +**id** | Option<**String**> | | [optional] +**mode** | Option<[**models::Mode**](mode.md)> | | [optional] +**status** | Option<[**models::SubscriptionStatus**](subscription-status.md)> | | [optional][readonly] +**amount** | Option<[**models::Amount**](amount.md)> | The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. | [optional] +**times** | Option<**i32**> | Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. | [optional] +**times_remaining** | Option<**i32**> | Number of payments left for the subscription. | [optional][readonly] +**interval** | Option<**String**> | Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. | [optional] +**start_date** | Option<**String**> | The start date of the subscription in `YYYY-MM-DD` format. | [optional] +**next_payment_date** | Option<**String**> | The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. | [optional][readonly] +**description** | Option<**String**> | The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. | [optional] +**method** | Option<[**models::SubscriptionMethodResponse**](subscription-method-response.md)> | | [optional] +**application_fee** | Option<[**models::EntitySubscriptionApplicationFee**](entity_subscription_applicationFee.md)> | | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. | [optional] +**webhook_url** | Option<**String**> | We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. | [optional] +**customer_id** | Option<**String**> | | [optional] +**mandate_id** | Option<**String**> | | [optional] +**created_at** | Option<**String**> | The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. | [optional][readonly] +**canceled_at** | Option<**String**> | The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). | [optional][readonly] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**_links** | Option<[**models::EntitySubscriptionLinks**](entity_subscription__links.md)> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionStatus.md b/docs/SubscriptionStatus.md new file mode 100644 index 0000000..fde8076 --- /dev/null +++ b/docs/SubscriptionStatus.md @@ -0,0 +1,16 @@ +# SubscriptionStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pending | pending | +| Active | active | +| Canceled | canceled | +| Suspended | suspended | +| Completed | completed | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SubscriptionsApiApi.md b/docs/SubscriptionsApiApi.md new file mode 100644 index 0000000..006e124 --- /dev/null +++ b/docs/SubscriptionsApiApi.md @@ -0,0 +1,252 @@ +# \SubscriptionsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**cancel_subscription**](SubscriptionsApiApi.md#cancel_subscription) | **DELETE** /customers/{customerId}/subscriptions/{subscriptionId} | Cancel subscription +[**create_subscription**](SubscriptionsApiApi.md#create_subscription) | **POST** /customers/{customerId}/subscriptions | Create subscription +[**get_subscription**](SubscriptionsApiApi.md#get_subscription) | **GET** /customers/{customerId}/subscriptions/{subscriptionId} | Get subscription +[**list_all_subscriptions**](SubscriptionsApiApi.md#list_all_subscriptions) | **GET** /subscriptions | List all subscriptions +[**list_subscription_payments**](SubscriptionsApiApi.md#list_subscription_payments) | **GET** /customers/{customerId}/subscriptions/{subscriptionId}/payments | List subscription payments +[**list_subscriptions**](SubscriptionsApiApi.md#list_subscriptions) | **GET** /customers/{customerId}/subscriptions | List customer subscriptions +[**update_subscription**](SubscriptionsApiApi.md#update_subscription) | **PATCH** /customers/{customerId}/subscriptions/{subscriptionId} | Update subscription + + + +## cancel_subscription + +> models::SubscriptionResponse cancel_subscription(customer_id, subscription_id, idempotency_key, delete_webhook_request) +Cancel subscription + +Cancel an existing subscription. Canceling a subscription has no effect on the mandates of the customer. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**subscription_id** | **String** | Provide the ID of the related subscription. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**models::SubscriptionResponse**](subscription-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## create_subscription + +> models::SubscriptionResponse create_subscription(customer_id, idempotency_key, subscription_request) +Create subscription + +With subscriptions, you can schedule recurring payments to take place at regular intervals. For example, by simply specifying an `amount` and an `interval`, you can create an endless subscription to charge a monthly fee, until you cancel the subscription. Or, you could use the times parameter to only charge a limited number of times, for example to split a big transaction in multiple parts. A few example usages: `amount[currency]=\"EUR\"` `amount[value]=\"5.00\"` `interval=\"2 weeks\"` Your customer will be charged €5 once every two weeks. `amount[currency]=\"EUR\"` `amount[value]=\"20.00\"` `interval=\"1 day\" times=5` Your customer will be charged €20 every day, for five consecutive days. `amount[currency]=\"EUR\"` `amount[value]=\"10.00\"` `interval=\"1 month\"` `startDate=\"2018-04-30\"` Your customer will be charged €10 on the last day of each month, starting in April 2018. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**subscription_request** | Option<[**SubscriptionRequest**](SubscriptionRequest.md)> | | | + +### Return type + +[**models::SubscriptionResponse**](subscription-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_subscription + +> models::SubscriptionResponse get_subscription(customer_id, subscription_id, testmode, idempotency_key) +Get subscription + +Retrieve a single subscription by its ID and the ID of its parent customer. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**subscription_id** | **String** | Provide the ID of the related subscription. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::SubscriptionResponse**](subscription-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_all_subscriptions + +> models::ListAllSubscriptions200Response list_all_subscriptions(from, limit, profile_id, testmode, idempotency_key) +List all subscriptions + +Retrieve all subscriptions initiated across all your customers. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve subscriptions for. Most API credentials are linked to a single profile. In these cases the `profileId` is already implied. To retrieve all subscriptions across the organization, use an organization-level API credential and omit the `profileId` parameter. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListAllSubscriptions200Response**](list_all_subscriptions_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_subscription_payments + +> models::ListSettlementPayments200Response list_subscription_payments(customer_id, subscription_id, from, limit, sort, profile_id, testmode, idempotency_key) +List subscription payments + +Retrieve all payments of a specific subscription. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**subscription_id** | **String** | Provide the ID of the related subscription. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**profile_id** | Option<**String**> | The identifier referring to the [profile](get-profile) you wish to retrieve the resources for. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSettlementPayments200Response**](list_settlement_payments_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_subscriptions + +> models::ListSubscriptions200Response list_subscriptions(customer_id, from, limit, sort, testmode, idempotency_key) +List customer subscriptions + +Retrieve all subscriptions of a customer. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListSubscriptions200Response**](list_subscriptions_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_subscription + +> models::SubscriptionResponse update_subscription(customer_id, subscription_id, idempotency_key, update_subscription_request) +Update subscription + +Update an existing subscription. Canceled subscriptions cannot be updated. For an in-depth explanation of each parameter, refer to the [Create subscription](create-subscription) endpoint. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**customer_id** | **String** | Provide the ID of the related customer. | [required] | +**subscription_id** | **String** | Provide the ID of the related subscription. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**update_subscription_request** | Option<[**UpdateSubscriptionRequest**](UpdateSubscriptionRequest.md)> | | | + +### Return type + +[**models::SubscriptionResponse**](subscription-response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/TerminalBrand.md b/docs/TerminalBrand.md new file mode 100644 index 0000000..31ddf9d --- /dev/null +++ b/docs/TerminalBrand.md @@ -0,0 +1,13 @@ +# TerminalBrand + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pax | PAX | +| Tap | Tap | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TerminalModel.md b/docs/TerminalModel.md new file mode 100644 index 0000000..6fd893d --- /dev/null +++ b/docs/TerminalModel.md @@ -0,0 +1,17 @@ +# TerminalModel + +## Enum Variants + +| Name | Value | +|---- | -----| +| A35 | A35 | +| A77 | A77 | +| A920 | A920 | +| A920Pro | A920Pro | +| Im30 | IM30 | +| Tap | Tap | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TerminalStatus.md b/docs/TerminalStatus.md new file mode 100644 index 0000000..99e574e --- /dev/null +++ b/docs/TerminalStatus.md @@ -0,0 +1,14 @@ +# TerminalStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Pending | pending | +| Active | active | +| Inactive | inactive | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TerminalsApiApi.md b/docs/TerminalsApiApi.md new file mode 100644 index 0000000..f615c9b --- /dev/null +++ b/docs/TerminalsApiApi.md @@ -0,0 +1,76 @@ +# \TerminalsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_terminal**](TerminalsApiApi.md#get_terminal) | **GET** /terminals/{terminalId} | Get terminal +[**list_terminals**](TerminalsApiApi.md#list_terminals) | **GET** /terminals | List terminals + + + +## get_terminal + +> models::EntityTerminal get_terminal(terminal_id, testmode, idempotency_key) +Get terminal + +Retrieve a single terminal by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**terminal_id** | **String** | Provide the ID of the related terminal. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityTerminal**](entity-terminal.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_terminals + +> models::ListTerminals200Response list_terminals(from, limit, sort, testmode, idempotency_key) +List terminals + +Retrieve a list of all physical point-of-sale devices. The results are paginated. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListTerminals200Response**](list_terminals_200_response.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/UpdatePaymentLinkRequest.md b/docs/UpdatePaymentLinkRequest.md new file mode 100644 index 0000000..69272a8 --- /dev/null +++ b/docs/UpdatePaymentLinkRequest.md @@ -0,0 +1,18 @@ +# UpdatePaymentLinkRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. Updating the description does not affect any previously existing payments created for this payment link. | [optional] +**minimum_amount** | Option<[**models::Amount**](amount.md)> | The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. | [optional] +**archived** | Option<**bool**> | Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. | [optional] +**allowed_methods** | Option<**Vec**> | An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. | [optional] +**lines** | Option<[**Vec**](payment-line-item.md)> | Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. | [optional] +**billing_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. | [optional] +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdatePaymentRequest.md b/docs/UpdatePaymentRequest.md new file mode 100644 index 0000000..75916cc --- /dev/null +++ b/docs/UpdatePaymentRequest.md @@ -0,0 +1,24 @@ +# UpdatePaymentRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | Option<**String**> | The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. | [optional] +**redirect_url** | Option<**String**> | The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. | [optional] +**cancel_url** | Option<**String**> | The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. | [optional] +**webhook_url** | Option<**String**> | The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | | [optional] +**method** | Option<[**models::Method**](method.md)> | | [optional] +**locale** | Option<[**models::Locale**](locale.md)> | | [optional] +**due_date** | Option<**String**> | The date by which the payment should be completed in `YYYY-MM-DD` format | [optional] +**restrict_payment_methods_to_country** | Option<**String**> | For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. | [optional] +**testmode** | Option<**bool**> | Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. | [optional] +**issuer** | Option<**String**> | **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). | [optional] +**billing_address** | Option<[**models::BillingAddress**](billingAddress.md)> | | [optional] +**shipping_address** | Option<[**models::PaymentAddress**](payment-address.md)> | | [optional] +**billing_email** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateProfileRequest.md b/docs/UpdateProfileRequest.md new file mode 100644 index 0000000..7667e19 --- /dev/null +++ b/docs/UpdateProfileRequest.md @@ -0,0 +1,18 @@ +# UpdateProfileRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. | [optional] +**website** | Option<**String**> | The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. | [optional] +**email** | Option<**String**> | The email address associated with the profile's trade name or brand. | [optional] +**phone** | Option<**String**> | The phone number associated with the profile's trade name or brand. | [optional] +**description** | Option<**String**> | The products or services offered by the profile's website or application. | [optional] +**countries_of_activity** | Option<**Vec**> | A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. | [optional] +**business_category** | Option<**String**> | The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types) for all possible options. | [optional] +**mode** | Option<**String**> | Updating a profile from `test` mode to `live` mode will trigger a verification process, where we review the profile before it can start accepting payments. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateSubscriptionRequest.md b/docs/UpdateSubscriptionRequest.md new file mode 100644 index 0000000..de129d7 --- /dev/null +++ b/docs/UpdateSubscriptionRequest.md @@ -0,0 +1,19 @@ +# UpdateSubscriptionRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | Option<[**models::Amount**](amount.md)> | Update the amount for future payments of this subscription. | [optional] +**description** | Option<**String**> | The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. | [optional] +**interval** | Option<**String**> | Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. | [optional] +**start_date** | Option<**String**> | The start date of the subscription in `YYYY-MM-DD` format. | [optional] +**times** | Option<**i32**> | Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. | [optional] +**metadata** | Option<[**models::Metadata**](metadata.md)> | Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. | [optional] +**webhook_url** | Option<**String**> | We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. | [optional] +**mandate_id** | Option<**String**> | | [optional] +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateValuesSalesInvoice.md b/docs/UpdateValuesSalesInvoice.md new file mode 100644 index 0000000..0a46841 --- /dev/null +++ b/docs/UpdateValuesSalesInvoice.md @@ -0,0 +1,20 @@ +# UpdateValuesSalesInvoice + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] +**status** | Option<[**models::SalesInvoiceStatus**](sales-invoice-status.md)> | The status for the invoice to end up in. Dependent parameters: `paymentDetails` for `paid`, `emailDetails` for `issued` and `paid`. | [optional] +**memo** | Option<**String**> | A free-form memo you can set on the invoice, and will be shown on the invoice PDF. | [optional] +**payment_term** | Option<[**models::SalesInvoicePaymentTerm**](sales-invoice-payment-term.md)> | | [optional] +**payment_details** | Option<[**models::SalesInvoicePaymentDetails**](sales-invoice-payment-details.md)> | Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. | [optional] +**email_details** | Option<[**models::SalesInvoiceEmailDetails**](sales-invoice-email-details.md)> | Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. | [optional] +**recipient_identifier** | Option<**String**> | An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. | [optional] +**recipient** | Option<[**models::SalesInvoiceRecipient**](sales-invoice-recipient.md)> | The recipient object should contain all the information relevant to create an invoice for an intended recipient. This data will be stored, updated, and re-used as appropriate, based on the `recipientIdentifier`. | [optional] +**lines** | Option<[**Vec**](sales-invoice-line-item.md)> | Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. | [optional] +**discount** | Option<[**models::SalesInvoiceDiscount**](sales-invoice-discount.md)> | The discount to be applied to the entire invoice, possibly on top of the line item discounts. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateWebhookRequest.md b/docs/UpdateWebhookRequest.md new file mode 100644 index 0000000..6ae97cd --- /dev/null +++ b/docs/UpdateWebhookRequest.md @@ -0,0 +1,14 @@ +# UpdateWebhookRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | Option<**String**> | A name that identifies the webhook. | [optional] +**url** | Option<**String**> | The URL Mollie will send the events to. This URL must be publicly accessible. | [optional] +**event_types** | Option<[**models::WebhookEventTypes**](webhook-event-types.md)> | The list of events to enable for this webhook. You may specify `'*'` to add all events, except those that require explicit selection. Separate multiple event types with a comma. | [optional] +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Url.md b/docs/Url.md new file mode 100644 index 0000000..e38acc9 --- /dev/null +++ b/docs/Url.md @@ -0,0 +1,12 @@ +# Url + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **String** | The actual URL string. | +**r#type** | **String** | The content type of the page or endpoint the URL points to. | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UrlNullable.md b/docs/UrlNullable.md new file mode 100644 index 0000000..4a951c4 --- /dev/null +++ b/docs/UrlNullable.md @@ -0,0 +1,12 @@ +# UrlNullable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | Option<**String**> | The actual URL string. | [optional] +**r#type** | Option<**String**> | The content type of the page or endpoint the URL points to. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Voucher.md b/docs/Voucher.md new file mode 100644 index 0000000..3859041 --- /dev/null +++ b/docs/Voucher.md @@ -0,0 +1,17 @@ +# Voucher + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**resource** | **String** | Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this endpoint. | [readonly] +**id** | **String** | The unique identifier of the payment method issuer. | [readonly] +**name** | **String** | The full name of the payment method issuer. | [readonly] +**image** | [**models::VoucherImage**](voucher_image.md) | | +**status** | [**models::MethodIssuerStatus**](method-issuer-status.md) | | [readonly] +**contractor** | [**models::VoucherContractor**](voucher_contractor.md) | | +**_links** | [**models::EntityBalanceLinks**](entity_balance__links.md) | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/VoucherContractor.md b/docs/VoucherContractor.md new file mode 100644 index 0000000..b6518fd --- /dev/null +++ b/docs/VoucherContractor.md @@ -0,0 +1,13 @@ +# VoucherContractor + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | Option<**String**> | | [optional] +**name** | Option<**String**> | | [optional] +**contract_id** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/VoucherImage.md b/docs/VoucherImage.md new file mode 100644 index 0000000..85bbbc0 --- /dev/null +++ b/docs/VoucherImage.md @@ -0,0 +1,13 @@ +# VoucherImage + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**size1x** | Option<**String**> | The URL pointing to an icon of 32 by 24 pixels. | [optional] +**size2x** | Option<**String**> | The URL pointing to an icon of 64 by 48 pixels. | [optional] +**svg** | Option<**String**> | The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WalletsApiApi.md b/docs/WalletsApiApi.md new file mode 100644 index 0000000..962d25c --- /dev/null +++ b/docs/WalletsApiApi.md @@ -0,0 +1,40 @@ +# \WalletsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**request_apple_pay_payment_session**](WalletsApiApi.md#request_apple_pay_payment_session) | **POST** /wallets/applepay/sessions | Request Apple Pay payment session + + + +## request_apple_pay_payment_session + +> std::collections::HashMap request_apple_pay_payment_session(idempotency_key, request_apple_pay_payment_session_request) +Request Apple Pay payment session + +When integrating Apple Pay in your own checkout on the web, you need to [provide merchant validation](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation). This is normally done using Apple's [Requesting an Apple Pay Session](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session). The merchant validation proves to Apple that a validated merchant is calling the Apple Pay Javascript APIs. To integrate Apple Pay via Mollie, you will have to call the Mollie API instead of Apple's API. The response of this API call can then be passed as-is to the completion method, `completeMerchantValidation`. Before requesting an Apple Pay Payment Session, you must place the domain validation file on your server at: `https://[domain]/.well-known/apple-developer-merchantid-domain-association`. Without this file, it will not be possible to use Apple Pay on your domain. Each new transaction requires a new payment session object. Merchant session objects are not reusable, and they expire after five minutes. Payment sessions cannot be requested directly from the browser. The request must be sent from your server. For the full documentation, see the official [Apple Pay JS API](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api) documentation. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**request_apple_pay_payment_session_request** | Option<[**RequestApplePayPaymentSessionRequest**](RequestApplePayPaymentSessionRequest.md)> | | | + +### Return type + +[**std::collections::HashMap**](serde_json::Value.md) + +### Authorization + +[apiKey](../README.md#apiKey), [oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/WebhookEventTypes.md b/docs/WebhookEventTypes.md new file mode 100644 index 0000000..be6cf60 --- /dev/null +++ b/docs/WebhookEventTypes.md @@ -0,0 +1,18 @@ +# WebhookEventTypes + +## Enum Variants + +| Name | Value | +|---- | -----| +| PaymentLinkPaid | payment-link.paid | +| BalanceTransactionCreated | balance-transaction.created | +| SalesInvoiceCreated | sales-invoice.created | +| SalesInvoiceIssued | sales-invoice.issued | +| SalesInvoiceCanceled | sales-invoice.canceled | +| SalesInvoicePaid | sales-invoice.paid | +| Star | * | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebhookEventTypesResponse.md b/docs/WebhookEventTypesResponse.md new file mode 100644 index 0000000..307300e --- /dev/null +++ b/docs/WebhookEventTypesResponse.md @@ -0,0 +1,18 @@ +# WebhookEventTypesResponse + +## Enum Variants + +| Name | Value | +|---- | -----| +| PaymentLinkPaid | payment-link.paid | +| BalanceTransactionCreated | balance-transaction.created | +| SalesInvoiceCreated | sales-invoice.created | +| SalesInvoiceIssued | sales-invoice.issued | +| SalesInvoiceCanceled | sales-invoice.canceled | +| SalesInvoicePaid | sales-invoice.paid | +| Star | * | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebhookEventsApiApi.md b/docs/WebhookEventsApiApi.md new file mode 100644 index 0000000..2e0c81b --- /dev/null +++ b/docs/WebhookEventsApiApi.md @@ -0,0 +1,41 @@ +# \WebhookEventsApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_webhook_event**](WebhookEventsApiApi.md#get_webhook_event) | **GET** /events/{id} | Get a Webhook Event + + + +## get_webhook_event + +> models::EntityWebhookEvent get_webhook_event(id, testmode, idempotency_key) +Get a Webhook Event + +Retrieve a single webhook event object by its event ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityWebhookEvent**](entity-webhook-event.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/WebhookStatus.md b/docs/WebhookStatus.md new file mode 100644 index 0000000..ea51367 --- /dev/null +++ b/docs/WebhookStatus.md @@ -0,0 +1,15 @@ +# WebhookStatus + +## Enum Variants + +| Name | Value | +|---- | -----| +| Enabled | enabled | +| Blocked | blocked | +| Disabled | disabled | +| Deleted | deleted | + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WebhooksApiApi.md b/docs/WebhooksApiApi.md new file mode 100644 index 0000000..84f6b1b --- /dev/null +++ b/docs/WebhooksApiApi.md @@ -0,0 +1,208 @@ +# \WebhooksApiApi + +All URIs are relative to *https://api.mollie.com/v2* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_webhook**](WebhooksApiApi.md#create_webhook) | **POST** /webhooks | Create a webhook +[**delete_webhook**](WebhooksApiApi.md#delete_webhook) | **DELETE** /webhooks/{id} | Delete a webhook +[**get_webhook**](WebhooksApiApi.md#get_webhook) | **GET** /webhooks/{id} | Get a webhook +[**list_webhooks**](WebhooksApiApi.md#list_webhooks) | **GET** /webhooks | List all webhooks +[**test_webhook**](WebhooksApiApi.md#test_webhook) | **POST** /webhooks/{id}/ping | Test a webhook +[**update_webhook**](WebhooksApiApi.md#update_webhook) | **PATCH** /webhooks/{id} | Update a webhook + + + +## create_webhook + +> models::CreateWebhook create_webhook(idempotency_key, create_webhook_request) +Create a webhook + +A webhook must have a name, an url and a list of event types. You can also create webhooks in the webhooks settings section of the Dashboard. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**create_webhook_request** | Option<[**CreateWebhookRequest**](CreateWebhookRequest.md)> | | | + +### Return type + +[**models::CreateWebhook**](create-webhook.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## delete_webhook + +> serde_json::Value delete_webhook(id, idempotency_key, delete_webhook_request) +Delete a webhook + +Delete a single webhook object by its webhook ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## get_webhook + +> models::EntityWebhook get_webhook(id, testmode, idempotency_key) +Get a webhook + +Retrieve a single webhook object by its ID. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::EntityWebhook**](entity-webhook.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## list_webhooks + +> models::ListWebhooks200Response list_webhooks(from, limit, sort, event_types, testmode, idempotency_key) +List all webhooks + +Returns a paginated list of your webhooks. If no webhook endpoints are available, the resulting array will be empty. This request should never throw an error. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**from** | Option<**String**> | Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set. | | +**limit** | Option<**i32**> | The maximum number of items to return. Defaults to 50 items. | | +**sort** | Option<**String**> | Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest. | | +**event_types** | Option<[**WebhookEventTypes**](.md)> | Used to filter out only the webhooks that are subscribed to certain types of events. | | +**testmode** | Option<**bool**> | Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the `testmode` query parameter to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. | | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | + +### Return type + +[**models::ListWebhooks200Response**](list_webhooks_200_response.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## test_webhook + +> serde_json::Value test_webhook(id, idempotency_key, delete_webhook_request) +Test a webhook + +Sends a test event to the webhook to verify the endpoint is working as expected. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**delete_webhook_request** | Option<[**DeleteWebhookRequest**](DeleteWebhookRequest.md)> | | | + +### Return type + +[**serde_json::Value**](serde_json::Value.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + + +## update_webhook + +> models::EntityWebhook update_webhook(id, idempotency_key, update_webhook_request) +Update a webhook + +Updates the webhook. You may edit the name, url and the list of subscribed event types. + +### Parameters + + +Name | Type | Description | Required | Notes +------------- | ------------- | ------------- | ------------- | ------------- +**id** | **String** | Provide the ID of the item you want to perform this operation on. | [required] | +**idempotency_key** | Option<**String**> | A unique key to ensure idempotent requests. This key should be a UUID v4 string. | | +**update_webhook_request** | Option<[**UpdateWebhookRequest**](UpdateWebhookRequest.md)> | | | + +### Return type + +[**models::EntityWebhook**](entity-webhook.md) + +### Authorization + +[oAuth](../README.md#oAuth) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/apis/balance_transfers_api_api.rs b/src/apis/balance_transfers_api_api.rs new file mode 100644 index 0000000..6aa26d1 --- /dev/null +++ b/src/apis/balance_transfers_api_api.rs @@ -0,0 +1,194 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_connect_balance_transfer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateConnectBalanceTransferError { + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_connect_balance_transfer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetConnectBalanceTransferError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_connect_balance_transfers`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListConnectBalanceTransfersError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// This API endpoint allows you to create a balance transfer from your organization's balance to a connected organization's balance, or vice versa. You can also create a balance transfer between two connected organizations. To create a balance transfer, you must be authenticated as the source organization, and the destination organization must be a connected organization that has authorized the `balance-transfers.write` scope for your organization. +pub async fn create_connect_balance_transfer(configuration: &configuration::Configuration, idempotency_key: Option<&str>, entity_balance_transfer: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_entity_balance_transfer = entity_balance_transfer; + + let uri_str = format!("{}/connect/balance-transfers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_balance_transfer); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityBalanceTransferResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityBalanceTransferResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single Connect balance transfer object by its ID. +pub async fn get_connect_balance_transfer(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/connect/balance-transfers/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityBalanceTransferResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityBalanceTransferResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Returns a paginated list of balance transfers associated with your organization. These may be a balance transfer that was received or sent from your balance, or a balance transfer that you initiated on behalf of your clients. If no balance transfers are available, the resulting array will be empty. This request should never throw an error. +pub async fn list_connect_balance_transfers(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/connect/balance-transfers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListConnectBalanceTransfers200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListConnectBalanceTransfers200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/balances_api_api.rs b/src/apis/balances_api_api.rs new file mode 100644 index 0000000..93fe993 --- /dev/null +++ b/src/apis/balances_api_api.rs @@ -0,0 +1,323 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_balance`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetBalanceError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_balance_report`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetBalanceReportError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_primary_balance`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPrimaryBalanceError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_balance_transactions`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListBalanceTransactionsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + Status429(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_balances`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListBalancesError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// When processing payments with Mollie, we put all pending funds — usually minus Mollie fees — on a balance. Once you have linked a bank account to your Mollie account, we can pay out your balance towards this bank account. With the Balances API you can retrieve your current balance. The response includes two amounts: * The *pending amount*. These are payments that have been marked as `paid`, but are not yet available on your balance. * The *available amount*. This is the amount that you can get paid out to your bank account, or use for refunds. With instant payment methods like iDEAL, payments are moved to the available balance instantly. With slower payment methods, like credit card for example, it can take a few days before the funds are available on your balance. These funds will be shown under the *pending amount* in the meanwhile. +pub async fn get_balance(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/balances/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityBalance`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityBalance`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a summarized report for all transactions on a given balance within a given timeframe. The API also provides a detailed report on all 'prepayments' for Mollie fees that were deducted from your balance during the reported period, ahead of your Mollie invoice. The alias `primary` can be used instead of the balance ID to refer to the organization's primary balance. +pub async fn get_balance_report(configuration: &configuration::Configuration, from: &str, until: &str, balance_id: &str, grouping: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_until = until; + let p_path_balance_id = balance_id; + let p_query_grouping = grouping; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/balances/{balanceId}/report", configuration.base_path, balanceId=crate::apis::urlencode(p_path_balance_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + req_builder = req_builder.query(&[("from", &p_query_from.to_string())]); + req_builder = req_builder.query(&[("until", &p_query_until.to_string())]); + if let Some(ref param_value) = p_query_grouping { + req_builder = req_builder.query(&[("grouping", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityBalanceReport`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityBalanceReport`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve the primary balance. This is the balance of your account's primary currency, where all payments are settled to by default. This endpoint is a convenient alias of the [Get balance](get-balance) endpoint. +pub async fn get_primary_balance(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/balances/primary", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityBalance`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityBalance`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all balance transactions. Transactions include for example payments, refunds, chargebacks, and settlements. For an aggregated report of these balance transactions, refer to the [Get balance report](get-balance-report) endpoint. The alias `primary` can be used instead of the balance ID to refer to the organization's primary balance. The results are paginated. +pub async fn list_balance_transactions(configuration: &configuration::Configuration, balance_id: &str, from: Option<&str>, limit: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_balance_id = balance_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/balances/{balanceId}/transactions", configuration.base_path, balanceId=crate::apis::urlencode(p_path_balance_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListBalanceTransactions200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListBalanceTransactions200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of the organization's balances, including the primary balance. The results are paginated. +pub async fn list_balances(configuration: &configuration::Configuration, currency: Option<&str>, from: Option<&str>, limit: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_currency = currency; + let p_query_from = from; + let p_query_limit = limit; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/balances", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_currency { + req_builder = req_builder.query(&[("currency", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListBalances200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListBalances200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/capabilities_api_api.rs b/src/apis/capabilities_api_api.rs new file mode 100644 index 0000000..9c3b18b --- /dev/null +++ b/src/apis/capabilities_api_api.rs @@ -0,0 +1,68 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`list_capabilities`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListCapabilitiesError { + UnknownValue(serde_json::Value), +} + + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a list of capabilities for an organization. This API provides detailed insights into the specific requirements and status of each client's onboarding journey. Capabilities are at the organization level, indicating if the organization can perform a given capability. For payments, regardless them being at the profile level, the capability is listed at the organization level. This means that if at least one of the clients's profiles can receive payments, the payments capability is enabled, communicating that the organization can indeed receive payments. +pub async fn list_capabilities(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/capabilities", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListCapabilities200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListCapabilities200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/captures_api_api.rs b/src/apis/captures_api_api.rs new file mode 100644 index 0000000..d190662 --- /dev/null +++ b/src/apis/captures_api_api.rs @@ -0,0 +1,212 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_capture`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateCaptureError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_capture`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetCaptureError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_captures`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListCapturesError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Capture an *authorized* payment. Some payment methods allow you to first collect a customer's authorization, and capture the amount at a later point. By default, Mollie captures payments automatically. If however you configured your payment with `captureMode: manual`, you can capture the payment using this endpoint after having collected the customer's authorization. +pub async fn create_capture(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, entity_capture: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_entity_capture = entity_capture; + + let uri_str = format!("{}/payments/{paymentId}/captures", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_capture); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CaptureResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CaptureResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single payment capture by its ID and the ID of its parent payment. +pub async fn get_capture(configuration: &configuration::Configuration, payment_id: &str, capture_id: &str, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_path_capture_id = capture_id; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/captures/{captureId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id), captureId=crate::apis::urlencode(p_path_capture_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CaptureResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CaptureResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all captures created for a specific payment. The results are paginated. +pub async fn list_captures(configuration: &configuration::Configuration, payment_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/captures", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementCaptures200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementCaptures200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/chargebacks_api_api.rs b/src/apis/chargebacks_api_api.rs new file mode 100644 index 0000000..ef470d3 --- /dev/null +++ b/src/apis/chargebacks_api_api.rs @@ -0,0 +1,233 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_chargeback`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetChargebackError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_all_chargebacks`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListAllChargebacksError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_chargebacks`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListChargebacksError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single payment chargeback by its ID and the ID of its parent payment. +pub async fn get_chargeback(configuration: &configuration::Configuration, payment_id: &str, chargeback_id: &str, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_path_chargeback_id = chargeback_id; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/chargebacks/{chargebackId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id), chargebackId=crate::apis::urlencode(p_path_chargeback_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityChargeback`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityChargeback`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all chargebacks initiated for all your payments. The results are paginated. +pub async fn list_all_chargebacks(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, embed: Option<&str>, sort: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_sort = sort; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/chargebacks", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve the chargebacks initiated for a specific payment. The results are paginated. +pub async fn list_chargebacks(configuration: &configuration::Configuration, payment_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/chargebacks", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/client_links_api_api.rs b/src/apis/client_links_api_api.rs new file mode 100644 index 0000000..49ea188 --- /dev/null +++ b/src/apis/client_links_api_api.rs @@ -0,0 +1,72 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_client_link`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateClientLinkError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Link a new or existing organization to your OAuth application, in effect creating a new client. The response contains a `clientLink` where you should redirect your customer to. ## Redirecting the Customer The `clientLink` URL behaves similarly to a standard OAuth authorization URL. Therefore, after receiving the `clientLink` URL in the API response, you need to **append the following query parameters** *before* redirecting the customer: * `client_id` _string (required)_ The client ID you received when you registered your OAuth app. The ID starts with `app_`. For example: `app_abc123qwerty`. * `state` _string (required)_ A random string **generated by your app** to prevent CSRF attacks. This will be reflected in the `state` query parameter when the user returns to the `redirect_uri` after authorizing your app. * `scope` _string (required)_ A space-separated list of permissions ('scopes') your app requires. See the [permissions list](https://docs.mollie.com/docs/connect-permissions) for more information about the available scopes. We recommend at least : `onboarding.read onboarding.write` * `approval_prompt` _string_ Can be set to `force` to force showing the consent screen to the merchant, *even when it is not necessary*. If you force an approval prompt and the user creates a new authorization, previously active authorizations will be revoked. Possible values: `auto` `force` (default: `auto`) ### Example of a Complete Redirect URL After adding the above url parameter your URL will look something like this and you can redirect your client to this page: ``` https://my.mollie.com/dashboard/client-link/{id}?client_id={your_client_id}&state={unique_state}&scope=onboarding.read%20onboarding.write ``` ## Error Handling Error handling is also dealt with similar to the [Authorize](https://docs.mollie.com/reference/authorize) endpoint: the customer is redirected back to your app's redirect URL with the `error` and `error_description` parameters added to the URL. > 🚧 > > A client link must be used within 30 days of creation. After that period, it will expire and you will need to create a new client link. +pub async fn create_client_link(configuration: &configuration::Configuration, idempotency_key: Option<&str>, entity_client_link: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_entity_client_link = entity_client_link; + + let uri_str = format!("{}/client-links", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_client_link); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityClientLinkResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityClientLinkResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/clients_api_api.rs b/src/apis/clients_api_api.rs new file mode 100644 index 0000000..b06a8b5 --- /dev/null +++ b/src/apis/clients_api_api.rs @@ -0,0 +1,138 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_client`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetClientError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_clients`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListClientsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single client by its ID. +pub async fn get_client(configuration: &configuration::Configuration, id: &str, embed: Option<&str>, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_embed = embed; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/clients/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListClients200ResponseEmbeddedClientsInner`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListClients200ResponseEmbeddedClientsInner`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all clients linked to your account. The results are paginated. +pub async fn list_clients(configuration: &configuration::Configuration, embed: Option<&str>, from: Option<&str>, limit: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_embed = embed; + let p_query_from = from; + let p_query_limit = limit; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/clients", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListClients200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListClients200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/configuration.rs b/src/apis/configuration.rs new file mode 100644 index 0000000..e388c1c --- /dev/null +++ b/src/apis/configuration.rs @@ -0,0 +1,51 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + + +#[derive(Debug, Clone)] +pub struct Configuration { + pub base_path: String, + pub user_agent: Option, + pub client: reqwest::Client, + pub basic_auth: Option, + pub oauth_access_token: Option, + pub bearer_access_token: Option, + pub api_key: Option, +} + +pub type BasicAuth = (String, Option); + +#[derive(Debug, Clone)] +pub struct ApiKey { + pub prefix: Option, + pub key: String, +} + + +impl Configuration { + pub fn new() -> Configuration { + Configuration::default() + } +} + +impl Default for Configuration { + fn default() -> Self { + Configuration { + base_path: "https://api.mollie.com/v2".to_owned(), + user_agent: Some("OpenAPI-Generator/1.0.0/rust".to_owned()), + client: reqwest::Client::new(), + basic_auth: None, + oauth_access_token: None, + bearer_access_token: None, + api_key: None, + } + } +} diff --git a/src/apis/customers_api_api.rs b/src/apis/customers_api_api.rs new file mode 100644 index 0000000..b46ac7f --- /dev/null +++ b/src/apis/customers_api_api.rs @@ -0,0 +1,446 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_customer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateCustomerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`create_customer_payment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateCustomerPaymentError { + Status422(models::ErrorResponse), + Status503(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_customer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteCustomerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_customer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetCustomerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_customer_payments`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListCustomerPaymentsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_customers`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListCustomersError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_customer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateCustomerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Creates a simple minimal representation of a customer. Payments, recurring mandates, and subscriptions can be linked to this customer object, which simplifies management of recurring payments. Once registered, customers will also appear in your Mollie dashboard. +pub async fn create_customer(configuration: &configuration::Configuration, idempotency_key: Option<&str>, entity_customer: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_entity_customer = entity_customer; + + let uri_str = format!("{}/customers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_customer); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CustomerResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CustomerResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Creates a payment for the customer. Linking customers to payments enables you to: * Keep track of payment preferences for your customers * Allow your customers to charge a previously used credit card with a single click in our hosted checkout * Improve payment insights in the Mollie dashboard * Use recurring payments This endpoint is effectively an alias of the [Create payment endpoint](create-payment) with the `customerId` parameter predefined. +pub async fn create_customer_payment(configuration: &configuration::Configuration, customer_id: &str, idempotency_key: Option<&str>, payment_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_header_idempotency_key = idempotency_key; + let p_body_payment_request = payment_request; + + let uri_str = format!("{}/customers/{customerId}/payments", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_payment_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Delete a customer. All mandates and subscriptions created for this customer will be canceled as well. +pub async fn delete_customer(configuration: &configuration::Configuration, customer_id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/customers/{customerId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single customer by its ID. +pub async fn get_customer(configuration: &configuration::Configuration, customer_id: &str, include: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_query_include = include; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GetCustomer200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GetCustomer200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all payments linked to the customer. +pub async fn list_customer_payments(configuration: &configuration::Configuration, customer_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/payments", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementPayments200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementPayments200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all customers. The results are paginated. +pub async fn list_customers(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListCustomers200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListCustomers200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Update an existing customer. For an in-depth explanation of each parameter, refer to the [Create customer](create-customer) endpoint. +pub async fn update_customer(configuration: &configuration::Configuration, customer_id: &str, idempotency_key: Option<&str>, entity_customer: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_header_idempotency_key = idempotency_key; + let p_body_entity_customer = entity_customer; + + let uri_str = format!("{}/customers/{customerId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_customer); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CustomerResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CustomerResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/delayed_routing_api_api.rs b/src/apis/delayed_routing_api_api.rs new file mode 100644 index 0000000..c5bfd5f --- /dev/null +++ b/src/apis/delayed_routing_api_api.rs @@ -0,0 +1,134 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`payment_create_route`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PaymentCreateRouteError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`payment_list_routes`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum PaymentListRoutesError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Create a route for a specific payment. The routed amount is credited to the account of your customer. +pub async fn payment_create_route(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, route_create_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_route_create_request = route_create_request; + + let uri_str = format!("{}/payments/{paymentId}/routes", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_route_create_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::RouteCreateResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::RouteCreateResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all routes created for a specific payment. +pub async fn payment_list_routes(configuration: &configuration::Configuration, payment_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/routes", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentListRoutes200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentListRoutes200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/invoices_api_api.rs b/src/apis/invoices_api_api.rs new file mode 100644 index 0000000..873c71d --- /dev/null +++ b/src/apis/invoices_api_api.rs @@ -0,0 +1,146 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetInvoiceError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_invoices`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListInvoicesError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single invoice by its ID. If you want to retrieve the details of an invoice by its invoice number, call the [List invoices](list-invoices) endpoint with the `reference` parameter. +pub async fn get_invoice(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/invoices/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityInvoice`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityInvoice`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all your invoices, optionally filtered by year or by invoice reference. The results are paginated. +pub async fn list_invoices(configuration: &configuration::Configuration, reference: Option<&str>, year: Option<&str>, month: Option<&str>, from: Option<&str>, limit: Option, sort: Option<&str>, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_reference = reference; + let p_query_year = year; + let p_query_month = month; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/invoices", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_reference { + req_builder = req_builder.query(&[("reference", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_year { + req_builder = req_builder.query(&[("year", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_month { + req_builder = req_builder.query(&[("month", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListInvoices200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListInvoices200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/mandates_api_api.rs b/src/apis/mandates_api_api.rs new file mode 100644 index 0000000..a70af94 --- /dev/null +++ b/src/apis/mandates_api_api.rs @@ -0,0 +1,265 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_mandate`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateMandateError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_mandate`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetMandateError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_mandates`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListMandatesError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`revoke_mandate`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RevokeMandateError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Create a mandate for a specific customer. Mandates allow you to charge a customer's card, PayPal account or bank account recurrently. It is only possible to create mandates for IBANs and PayPal billing agreements with this endpoint. To create mandates for cards, your customers need to perform a 'first payment' with their card. +pub async fn create_mandate(configuration: &configuration::Configuration, customer_id: &str, idempotency_key: Option<&str>, mandate_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_header_idempotency_key = idempotency_key; + let p_body_mandate_request = mandate_request; + + let uri_str = format!("{}/customers/{customerId}/mandates", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_mandate_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MandateResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MandateResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single mandate by its ID. Depending on the type of mandate, the object will contain the customer's bank account details, card details, or PayPal account details. +pub async fn get_mandate(configuration: &configuration::Configuration, customer_id: &str, mandate_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_mandate_id = mandate_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/mandates/{mandateId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), mandateId=crate::apis::urlencode(p_path_mandate_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::MandateResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::MandateResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all mandates. The results are paginated. +pub async fn list_mandates(configuration: &configuration::Configuration, customer_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/mandates", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListMandates200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListMandates200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Revoke a customer's mandate. You will no longer be able to charge the customer's bank account or card with this mandate, and all connected subscriptions will be canceled. +pub async fn revoke_mandate(configuration: &configuration::Configuration, customer_id: &str, mandate_id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_mandate_id = mandate_id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/customers/{customerId}/mandates/{mandateId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), mandateId=crate::apis::urlencode(p_path_mandate_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/methods_api_api.rs b/src/apis/methods_api_api.rs new file mode 100644 index 0000000..5aef567 --- /dev/null +++ b/src/apis/methods_api_api.rs @@ -0,0 +1,498 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`disable_method`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DisableMethodError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`disable_method_issuer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DisableMethodIssuerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enable_method`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnableMethodError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`enable_method_issuer`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnableMethodIssuerError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_method`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetMethodError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_all_methods`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListAllMethodsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_methods`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListMethodsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Disable a payment method on a specific profile. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. +pub async fn disable_method(configuration: &configuration::Configuration, profile_id: &str, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_profile_id = profile_id; + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{profileId}/methods/{id}", configuration.base_path, profileId=p_path_profile_id.to_string(), id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Disable an issuer for a payment method on a specific profile. Currently only the payment methods `voucher` and `giftcard` are supported. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. +pub async fn disable_method_issuer(configuration: &configuration::Configuration, profile_id: &str, method_id: &str, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_profile_id = profile_id; + let p_path_method_id = method_id; + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{profileId}/methods/{methodId}/issuers/{id}", configuration.base_path, profileId=p_path_profile_id.to_string(), methodId=crate::apis::urlencode(p_path_method_id), id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Enable a payment method on a specific profile. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. Some payment methods require extra steps in order to be activated. In cases where a step at the payment method provider needs to be completed first, the status will be set to `pending-external` and the response will contain a link to complete the activation at the provider. To enable voucher or gift card issuers, refer to the [Enable payment method issuer](enable-method-issuer) endpoint. +pub async fn enable_method(configuration: &configuration::Configuration, profile_id: &str, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_profile_id = profile_id; + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{profileId}/methods/{id}", configuration.base_path, profileId=p_path_profile_id.to_string(), id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityMethod`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityMethod`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Enable an issuer for a payment method on a specific profile. Currently only the payment methods `voucher` and `giftcard` are supported. When using a profile-specific API credential, the alias `me` can be used instead of the profile ID to refer to the current profile. +pub async fn enable_method_issuer(configuration: &configuration::Configuration, profile_id: &str, method_id: &str, id: &str, idempotency_key: Option<&str>, enable_method_issuer_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_profile_id = profile_id; + let p_path_method_id = method_id; + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_enable_method_issuer_request = enable_method_issuer_request; + + let uri_str = format!("{}/profiles/{profileId}/methods/{methodId}/issuers/{id}", configuration.base_path, profileId=p_path_profile_id.to_string(), methodId=crate::apis::urlencode(p_path_method_id), id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_enable_method_issuer_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EnableMethodIssuer200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EnableMethodIssuer200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single payment method by its ID. If a method is not available on this profile, a `404 Not Found` response is returned. If the method is available but not enabled yet, a status `403 Forbidden` is returned. You can enable payments methods via the [Enable payment method endpoint](enable-method) of the Profiles API, or via the Mollie Dashboard. If you do not know the method's ID, you can use the [methods list endpoint](list-methods) to retrieve all payment methods that are available. Additionally, it is possible to check if wallet methods such as Apple Pay are enabled by passing the wallet ID (`applepay`) as the method ID. +pub async fn get_method(configuration: &configuration::Configuration, id: &str, locale: Option<&str>, currency: Option<&str>, profile_id: Option<&str>, include: Option<&str>, sequence_type: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_locale = locale; + let p_query_currency = currency; + let p_query_profile_id = profile_id; + let p_query_include = include; + let p_query_sequence_type = sequence_type; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/methods/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_locale { + req_builder = req_builder.query(&[("locale", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_currency { + req_builder = req_builder.query(&[("currency", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sequence_type { + req_builder = req_builder.query(&[("sequenceType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityMethod`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityMethod`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all payment methods that Mollie offers, regardless of the eligibility of the organization for the specific method. The results of this endpoint are **not** paginated — unlike most other list endpoints in our API. The list can optionally be filtered using a number of parameters described below. +pub async fn list_all_methods(configuration: &configuration::Configuration, locale: Option<&str>, amount: Option, include: Option<&str>, sequence_type: Option, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_locale = locale; + let p_query_amount = amount; + let p_query_include = include; + let p_query_sequence_type = sequence_type; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/methods/all", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_locale { + req_builder = req_builder.query(&[("locale", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_amount { + req_builder = req_builder.query(¶m_value); + } + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sequence_type { + req_builder = req_builder.query(&[("sequenceType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListAllMethods200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListAllMethods200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all enabled payment methods. The results of this endpoint are **not** paginated — unlike most other list endpoints in our API. For test mode, all pending and enabled payment methods are returned. If no payment methods are requested yet, the most popular payment methods are returned in the test mode. For live mode, only fully enabled payment methods are returned. Payment methods can be requested and enabled via the Mollie Dashboard, or via the [Enable payment method endpoint](enable-method) of the Profiles API. The list can optionally be filtered using a number of parameters described below. By default, only payment methods for the Euro currency are returned. If you wish to retrieve payment methods which exclusively support other currencies (e.g. Twint), you need to use the `amount` parameters. +pub async fn list_methods(configuration: &configuration::Configuration, sequence_type: Option, locale: Option<&str>, amount: Option, resource: Option<&str>, billing_country: Option<&str>, include_wallets: Option<&str>, order_line_categories: Option, profile_id: Option<&str>, include: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_sequence_type = sequence_type; + let p_query_locale = locale; + let p_query_amount = amount; + let p_query_resource = resource; + let p_query_billing_country = billing_country; + let p_query_include_wallets = include_wallets; + let p_query_order_line_categories = order_line_categories; + let p_query_profile_id = profile_id; + let p_query_include = include; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/methods", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_sequence_type { + req_builder = req_builder.query(&[("sequenceType", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_locale { + req_builder = req_builder.query(&[("locale", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_amount { + req_builder = req_builder.query(¶m_value); + } + if let Some(ref param_value) = p_query_resource { + req_builder = req_builder.query(&[("resource", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_billing_country { + req_builder = req_builder.query(&[("billingCountry", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_include_wallets { + req_builder = req_builder.query(&[("includeWallets", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_order_line_categories { + req_builder = req_builder.query(&[("orderLineCategories", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListMethods200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListMethods200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/mod.rs b/src/apis/mod.rs new file mode 100644 index 0000000..b0f36f7 --- /dev/null +++ b/src/apis/mod.rs @@ -0,0 +1,141 @@ +use std::error; +use std::fmt; + +#[derive(Debug, Clone)] +pub struct ResponseContent { + pub status: reqwest::StatusCode, + pub content: String, + pub entity: Option, +} + +#[derive(Debug)] +pub enum Error { + Reqwest(reqwest::Error), + Serde(serde_json::Error), + Io(std::io::Error), + ResponseError(ResponseContent), +} + +impl fmt::Display for Error { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let (module, e) = match self { + Error::Reqwest(e) => ("reqwest", e.to_string()), + Error::Serde(e) => ("serde", e.to_string()), + Error::Io(e) => ("IO", e.to_string()), + Error::ResponseError(e) => ("response", format!("status code {}", e.status)), + }; + write!(f, "error in {}: {}", module, e) + } +} + +impl error::Error for Error { + fn source(&self) -> Option<&(dyn error::Error + 'static)> { + Some(match self { + Error::Reqwest(e) => e, + Error::Serde(e) => e, + Error::Io(e) => e, + Error::ResponseError(_) => return None, + }) + } +} + +impl From for Error { + fn from(e: reqwest::Error) -> Self { + Error::Reqwest(e) + } +} + +impl From for Error { + fn from(e: serde_json::Error) -> Self { + Error::Serde(e) + } +} + +impl From for Error { + fn from(e: std::io::Error) -> Self { + Error::Io(e) + } +} + +pub fn urlencode>(s: T) -> String { + ::url::form_urlencoded::byte_serialize(s.as_ref().as_bytes()).collect() +} + +pub fn parse_deep_object(prefix: &str, value: &serde_json::Value) -> Vec<(String, String)> { + if let serde_json::Value::Object(object) = value { + let mut params = vec![]; + + for (key, value) in object { + match value { + serde_json::Value::Object(_) => params.append(&mut parse_deep_object( + &format!("{}[{}]", prefix, key), + value, + )), + serde_json::Value::Array(array) => { + for (i, value) in array.iter().enumerate() { + params.append(&mut parse_deep_object( + &format!("{}[{}][{}]", prefix, key, i), + value, + )); + } + }, + serde_json::Value::String(s) => params.push((format!("{}[{}]", prefix, key), s.clone())), + _ => params.push((format!("{}[{}]", prefix, key), value.to_string())), + } + } + + return params; + } + + unimplemented!("Only objects are supported with style=deepObject") +} + +/// Internal use only +/// A content type supported by this client. +#[allow(dead_code)] +enum ContentType { + Json, + Text, + Unsupported(String) +} + +impl From<&str> for ContentType { + fn from(content_type: &str) -> Self { + if content_type.starts_with("application") && content_type.contains("json") { + return Self::Json; + } else if content_type.starts_with("text/plain") { + return Self::Text; + } else { + return Self::Unsupported(content_type.to_string()); + } + } +} + +pub mod balance_transfers_api_api; +pub mod balances_api_api; +pub mod capabilities_api_api; +pub mod captures_api_api; +pub mod chargebacks_api_api; +pub mod client_links_api_api; +pub mod clients_api_api; +pub mod customers_api_api; +pub mod delayed_routing_api_api; +pub mod invoices_api_api; +pub mod mandates_api_api; +pub mod methods_api_api; +pub mod onboarding_api_api; +pub mod organizations_api_api; +pub mod payment_links_api_api; +pub mod payments_api_api; +pub mod permissions_api_api; +pub mod profiles_api_api; +pub mod refunds_api_api; +pub mod sales_invoices_api_api; +pub mod settlements_api_api; +pub mod subscriptions_api_api; +pub mod terminals_api_api; +pub mod wallets_api_api; +pub mod webhook_events_api_api; +pub mod webhooks_api_api; + +pub mod configuration; diff --git a/src/apis/onboarding_api_api.rs b/src/apis/onboarding_api_api.rs new file mode 100644 index 0000000..4c1283c --- /dev/null +++ b/src/apis/onboarding_api_api.rs @@ -0,0 +1,120 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_onboarding_status`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetOnboardingStatusError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`submit_onboarding_data`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum SubmitOnboardingDataError { + UnknownValue(serde_json::Value), +} + + +/// Retrieve the onboarding status of the currently authenticated organization. +pub async fn get_onboarding_status(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/onboarding/me", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityOnboardingStatus`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityOnboardingStatus`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// **⚠️ We no longer recommend implementing this endpoint. Please refer to the Client Links API instead to kick off the onboarding process for your merchants.** Submit data that will be prefilled in the merchant's onboarding. The data you submit will only be processed when the onboarding status is `needs-data`. Information that the merchant has entered in their dashboard will not be overwritten. +pub async fn submit_onboarding_data(configuration: &configuration::Configuration, idempotency_key: Option<&str>, submit_onboarding_data_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_submit_onboarding_data_request = submit_onboarding_data_request; + + let uri_str = format!("{}/onboarding/me", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_submit_onboarding_data_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/organizations_api_api.rs b/src/apis/organizations_api_api.rs new file mode 100644 index 0000000..083319f --- /dev/null +++ b/src/apis/organizations_api_api.rs @@ -0,0 +1,174 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_current_organization`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetCurrentOrganizationError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_organization`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetOrganizationError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_partner_status`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPartnerStatusError { + UnknownValue(serde_json::Value), +} + + +/// Retrieve the currently authenticated organization. A convenient alias of the [Get organization](get-organization) endpoint. For a complete reference of the organization object, refer to the [Get organization](get-organization) endpoint documentation. +pub async fn get_current_organization(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/organizations/me", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityOrganization`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityOrganization`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single organization by its ID. You can normally only retrieve the currently authenticated organization with this endpoint. This is primarily useful for OAuth apps. See also [Get current organization](get-current-organization). If you have a *partner account*', you can retrieve organization details of connected organizations. +pub async fn get_organization(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/organizations/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityOrganization`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityOrganization`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve partnership details about the currently authenticated organization. Only relevant for so-called *partner accounts*. +pub async fn get_partner_status(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/organizations/me/partner", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GetPartnerStatus200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GetPartnerStatus200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/payment_links_api_api.rs b/src/apis/payment_links_api_api.rs new file mode 100644 index 0000000..1799c81 --- /dev/null +++ b/src/apis/payment_links_api_api.rs @@ -0,0 +1,387 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_payment_link`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreatePaymentLinkError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_payment_link`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeletePaymentLinkError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_payment_link`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPaymentLinkError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_payment_link_payments`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPaymentLinkPaymentsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_payment_links`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListPaymentLinksError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_payment_link`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdatePaymentLinkError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// With the Payment links API you can generate payment links that by default, unlike regular payments, do not expire. The payment link can be shared with your customers and will redirect them to them the payment page where they can complete the payment. A [payment](get-payment) will only be created once the customer initiates the payment. +pub async fn create_payment_link(configuration: &configuration::Configuration, idempotency_key: Option<&str>, create_payment_link_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_create_payment_link_request = create_payment_link_request; + + let uri_str = format!("{}/payment-links", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_create_payment_link_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentLinkResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentLinkResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Payment links which have not been opened and no payments have been made yet can be deleted entirely. This can be useful for removing payment links that have been incorrectly configured or that are no longer relevant. Once deleted, the payment link will no longer show up in the API or Mollie dashboard. To simply disable a payment link without fully deleting it, you can use the `archived` parameter on the [Update payment link](update-payment-link) endpoint instead. +pub async fn delete_payment_link(configuration: &configuration::Configuration, payment_link_id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_link_id = payment_link_id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/payment-links/{paymentLinkId}", configuration.base_path, paymentLinkId=crate::apis::urlencode(p_path_payment_link_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single payment link by its ID. +pub async fn get_payment_link(configuration: &configuration::Configuration, payment_link_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_link_id = payment_link_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payment-links/{paymentLinkId}", configuration.base_path, paymentLinkId=crate::apis::urlencode(p_path_payment_link_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentLinkResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentLinkResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve the list of payments for a specific payment link. The results are paginated. +pub async fn get_payment_link_payments(configuration: &configuration::Configuration, payment_link_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_link_id = payment_link_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payment-links/{paymentLinkId}/payments", configuration.base_path, paymentLinkId=crate::apis::urlencode(p_path_payment_link_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementPayments200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementPayments200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all payment links. The results are paginated. +pub async fn list_payment_links(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payment-links", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListPaymentLinks200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListPaymentLinks200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Certain details of an existing payment link can be updated. +pub async fn update_payment_link(configuration: &configuration::Configuration, payment_link_id: &str, idempotency_key: Option<&str>, update_payment_link_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_link_id = payment_link_id; + let p_header_idempotency_key = idempotency_key; + let p_body_update_payment_link_request = update_payment_link_request; + + let uri_str = format!("{}/payment-links/{paymentLinkId}", configuration.base_path, paymentLinkId=crate::apis::urlencode(p_path_payment_link_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_payment_link_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentLinkResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentLinkResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/payments_api_api.rs b/src/apis/payments_api_api.rs new file mode 100644 index 0000000..ca073e9 --- /dev/null +++ b/src/apis/payments_api_api.rs @@ -0,0 +1,394 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`cancel_payment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CancelPaymentError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`create_payment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreatePaymentError { + Status422(models::ErrorResponse), + Status503(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_payment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPaymentError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_payments`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListPaymentsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`release_authorization`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ReleaseAuthorizationError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_payment`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdatePaymentError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Depending on the payment method, you may be able to cancel a payment for a certain amount of time — usually until the next business day or as long as the payment status is open. Payments may also be canceled manually from the Mollie Dashboard. The `isCancelable` property on the [Payment object](get-payment) will indicate if the payment can be canceled. +pub async fn cancel_payment(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, cancel_payment_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_cancel_payment_request = cancel_payment_request; + + let uri_str = format!("{}/payments/{paymentId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_cancel_payment_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Payment creation is elemental to the Mollie API: this is where most payment implementations start off. Once you have created a payment, you should redirect your customer to the URL in the `_links.checkout` property from the response. To wrap your head around the payment process, an explanation and flow charts can be found in the 'Accepting payments' guide. If you specify the `method` parameter when creating a payment, optional additional parameters may be available for the payment method that are not listed below. Please refer to the guide on [method-specific parameters](extra-payment-parameters). +pub async fn create_payment(configuration: &configuration::Configuration, include: Option<&str>, idempotency_key: Option<&str>, payment_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_include = include; + let p_header_idempotency_key = idempotency_key; + let p_body_payment_request = payment_request; + + let uri_str = format!("{}/payments", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_payment_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single payment object by its payment ID. +pub async fn get_payment(configuration: &configuration::Configuration, payment_id: &str, include: Option<&str>, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_query_include = include; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_include { + req_builder = req_builder.query(&[("include", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all payments created with the current website profile. The results are paginated. +pub async fn list_payments(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementPayments200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementPayments200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Releases the full remaining authorized amount. Call this endpoint when you will not be making any additional captures. Payment authorizations may also be released manually from the Mollie Dashboard. Mollie will do its best to process release requests, but it is not guaranteed that it will succeed. It is up to the issuing bank if and when the hold will be released. If the request does succeed, the payment status will change to `canceled` for payments without captures. If there is a successful capture, the payment will transition to `paid`. +pub async fn release_authorization(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, release_authorization_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_release_authorization_request = release_authorization_request; + + let uri_str = format!("{}/payments/{paymentId}/release-authorization", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_release_authorization_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Certain details of an existing payment can be updated. Updating the payment details will not result in a webhook call. +pub async fn update_payment(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, update_payment_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_update_payment_request = update_payment_request; + + let uri_str = format!("{}/payments/{paymentId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_payment_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PaymentResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PaymentResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/permissions_api_api.rs b/src/apis/permissions_api_api.rs new file mode 100644 index 0000000..824b4b8 --- /dev/null +++ b/src/apis/permissions_api_api.rs @@ -0,0 +1,125 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_permission`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetPermissionError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_permissions`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListPermissionsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single permission by its ID, and see if the permission is granted to the current access token. +pub async fn get_permission(configuration: &configuration::Configuration, permission_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_permission_id = permission_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/permissions/{permissionId}", configuration.base_path, permissionId=crate::apis::urlencode(p_path_permission_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityPermission`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityPermission`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all permissions available to the current access token. The results are **not** paginated. +pub async fn list_permissions(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/permissions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListPermissions200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListPermissions200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/profiles_api_api.rs b/src/apis/profiles_api_api.rs new file mode 100644 index 0000000..03750d3 --- /dev/null +++ b/src/apis/profiles_api_api.rs @@ -0,0 +1,346 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_profile`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateProfileError { + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_profile`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteProfileError { + Status404(models::ErrorResponse), + Status410(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_current_profile`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetCurrentProfileError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_profile`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetProfileError { + Status404(models::ErrorResponse), + Status410(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_profiles`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListProfilesError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_profile`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateProfileError { + Status404(models::ErrorResponse), + Status410(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Create a profile to process payments on. Profiles are required for payment processing. Normally they are created via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile creation. +pub async fn create_profile(configuration: &configuration::Configuration, entity_profile: models::EntityProfile, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_body_entity_profile = entity_profile; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_profile); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityProfileResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityProfileResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Delete a profile. A deleted profile and its related credentials can no longer be used for accepting payments. +pub async fn delete_profile(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve the currently authenticated profile. A convenient alias of the [Get profile](get-profile) endpoint. For a complete reference of the profile object, refer to the [Get profile](get-profile) endpoint documentation. +pub async fn get_current_profile(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/me", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityProfileResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityProfileResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single profile by its ID. +pub async fn get_profile(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityProfileResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityProfileResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all of your profiles. The results are paginated. +pub async fn list_profiles(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListProfiles200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListProfiles200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Update an existing profile. Profiles are required for payment processing. Normally they are created and updated via the Mollie dashboard. Alternatively, you can use this endpoint to automate profile management. +pub async fn update_profile(configuration: &configuration::Configuration, id: &str, update_profile_request: models::UpdateProfileRequest, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_body_update_profile_request = update_profile_request; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/profiles/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_profile_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityProfileResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityProfileResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/refunds_api_api.rs b/src/apis/refunds_api_api.rs new file mode 100644 index 0000000..e57dc7f --- /dev/null +++ b/src/apis/refunds_api_api.rs @@ -0,0 +1,351 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`cancel_refund`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CancelRefundError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`create_refund`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateRefundError { + Status404(models::ErrorResponse), + Status409(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_refund`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetRefundError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_all_refunds`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListAllRefundsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_refunds`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListRefundsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Refunds will be executed with a delay of two hours. Until that time, refunds may be canceled manually via the Mollie Dashboard, or by using this endpoint. A refund can only be canceled while its `status` field is either `queued` or `pending`. See the [Get refund endpoint](get-refund) for more information. +pub async fn cancel_refund(configuration: &configuration::Configuration, payment_id: &str, refund_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_path_refund_id = refund_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/refunds/{refundId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id), refundId=crate::apis::urlencode(p_path_refund_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Creates a refund for a specific payment. The refunded amount is credited to your customer usually either via a bank transfer or by refunding the amount to your customer's credit card. +pub async fn create_refund(configuration: &configuration::Configuration, payment_id: &str, idempotency_key: Option<&str>, refund_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_header_idempotency_key = idempotency_key; + let p_body_refund_request = refund_request; + + let uri_str = format!("{}/payments/{paymentId}/refunds", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_refund_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityRefundResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityRefundResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single payment refund by its ID and the ID of its parent payment. +pub async fn get_refund(configuration: &configuration::Configuration, payment_id: &str, refund_id: &str, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_path_refund_id = refund_id; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/refunds/{refundId}", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id), refundId=crate::apis::urlencode(p_path_refund_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityRefundResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityRefundResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all of your refunds. The results are paginated. +pub async fn list_all_refunds(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, embed: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_embed = embed; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/refunds", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementRefunds200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementRefunds200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all refunds created for a specific payment. The results are paginated. +pub async fn list_refunds(configuration: &configuration::Configuration, payment_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_payment_id = payment_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/payments/{paymentId}/refunds", configuration.base_path, paymentId=crate::apis::urlencode(p_path_payment_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementRefunds200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementRefunds200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/sales_invoices_api_api.rs b/src/apis/sales_invoices_api_api.rs new file mode 100644 index 0000000..708811e --- /dev/null +++ b/src/apis/sales_invoices_api_api.rs @@ -0,0 +1,316 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_sales_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateSalesInvoiceError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_sales_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteSalesInvoiceError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_sales_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSalesInvoiceError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_sales_invoices`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSalesInvoicesError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_sales_invoice`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateSalesInvoiceError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. With the Sales Invoice API you can generate sales invoices to send to your customers. +pub async fn create_sales_invoice(configuration: &configuration::Configuration, idempotency_key: Option<&str>, entity_sales_invoice: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_entity_sales_invoice = entity_sales_invoice; + + let uri_str = format!("{}/sales-invoices", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_entity_sales_invoice); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Sales invoices which are in status `draft` can be deleted. For all other statuses, please use the [Update sales invoice](update-sales-invoice) endpoint instead. +pub async fn delete_sales_invoice(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>, delete_values_sales_invoice: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_values_sales_invoice = delete_values_sales_invoice; + + let uri_str = format!("{}/sales-invoices/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_values_sales_invoice); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a single sales invoice by its ID. +pub async fn get_sales_invoice(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/sales-invoices/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Retrieve a list of all sales invoices created through the API. The results are paginated. +pub async fn list_sales_invoices(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/sales-invoices", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSalesInvoices200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSalesInvoices200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// > 🚧 Beta feature > > This feature is currently in beta testing, and the final specification may still change. Certain details of an existing sales invoice can be updated. For `draft` it is all values listed below, but for statuses `paid` and `issued` there are certain additional requirements (`paymentDetails` and `emailDetails`, respectively). +pub async fn update_sales_invoice(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>, update_values_sales_invoice: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_update_values_sales_invoice = update_values_sales_invoice; + + let uri_str = format!("{}/sales-invoices/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_values_sales_invoice); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySalesInvoiceResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/settlements_api_api.rs b/src/apis/settlements_api_api.rs new file mode 100644 index 0000000..71956a5 --- /dev/null +++ b/src/apis/settlements_api_api.rs @@ -0,0 +1,525 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_next_settlement`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetNextSettlementError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_open_settlement`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetOpenSettlementError { + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_settlement`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSettlementError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_settlement_captures`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSettlementCapturesError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_settlement_chargebacks`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSettlementChargebacksError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_settlement_payments`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSettlementPaymentsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_settlement_refunds`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSettlementRefundsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_settlements`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSettlementsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve the details of the current settlement, that has not yet been paid out. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. +pub async fn get_next_settlement(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/next", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySettlement`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySettlement`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve the details of the open balance of the organization. This will return a settlement object representing your organization's balance. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. +pub async fn get_open_settlement(configuration: &configuration::Configuration, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/open", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySettlement`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySettlement`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single settlement by its ID. To lookup settlements by their bank reference, replace the ID in the URL by a reference. For example: `1234567.2404.03`. A settlement represents a transfer of your balance funds to your external bank account. Settlements will typically include a report that details what balance transactions have taken place between this settlement and the previous one. For more accurate bookkeeping, refer to the [balance report](get-balance-report) endpoint or the [balance transactions](list-balance-transactions) endpoint. +pub async fn get_settlement(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntitySettlement`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntitySettlement`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all captures included in the given settlement. The response is in the same format as the response of the [List captures endpoint](list-captures). +pub async fn list_settlement_captures(configuration: &configuration::Configuration, settlement_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_settlement_id = settlement_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/{settlementId}/captures", configuration.base_path, settlementId=crate::apis::urlencode(p_path_settlement_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementCaptures200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementCaptures200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all chargebacks 'deducted' from the given settlement. The response is in the same format as the response of the [List chargebacks endpoint](list-chargebacks). +pub async fn list_settlement_chargebacks(configuration: &configuration::Configuration, settlement_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_settlement_id = settlement_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/{settlementId}/chargebacks", configuration.base_path, settlementId=crate::apis::urlencode(p_path_settlement_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementChargebacks200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all payments included in the given settlement. The response is in the same format as the response of the [List payments endpoint](list-payments). For capture-based payment methods such as Klarna, the payments are not listed here. Refer to the [List captures endpoint](list-captures) endpoint instead. +pub async fn list_settlement_payments(configuration: &configuration::Configuration, settlement_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_settlement_id = settlement_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/{settlementId}/payments", configuration.base_path, settlementId=crate::apis::urlencode(p_path_settlement_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementPayments200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementPayments200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all refunds 'deducted' from the given settlement. The response is in the same format as the response of the [List refunds endpoint](list-refunds). +pub async fn list_settlement_refunds(configuration: &configuration::Configuration, settlement_id: &str, from: Option<&str>, limit: Option, embed: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_settlement_id = settlement_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_embed = embed; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements/{settlementId}/refunds", configuration.base_path, settlementId=crate::apis::urlencode(p_path_settlement_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_embed { + req_builder = req_builder.query(&[("embed", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementRefunds200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementRefunds200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all your settlements. The results are paginated. +pub async fn list_settlements(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, balance_id: Option<&str>, year: Option<&str>, month: Option<&str>, currencies: Option<&str>, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_balance_id = balance_id; + let p_query_year = year; + let p_query_month = month; + let p_query_currencies = currencies; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/settlements", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_balance_id { + req_builder = req_builder.query(&[("balanceId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_year { + req_builder = req_builder.query(&[("year", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_month { + req_builder = req_builder.query(&[("month", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_currencies { + req_builder = req_builder.query(&[("currencies", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlements200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlements200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/subscriptions_api_api.rs b/src/apis/subscriptions_api_api.rs new file mode 100644 index 0000000..ecf25ec --- /dev/null +++ b/src/apis/subscriptions_api_api.rs @@ -0,0 +1,470 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`cancel_subscription`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CancelSubscriptionError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`create_subscription`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateSubscriptionError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_subscription`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetSubscriptionError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_all_subscriptions`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListAllSubscriptionsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_subscription_payments`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSubscriptionPaymentsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_subscriptions`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListSubscriptionsError { + Status400(models::ErrorResponse), + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_subscription`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateSubscriptionError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Cancel an existing subscription. Canceling a subscription has no effect on the mandates of the customer. +pub async fn cancel_subscription(configuration: &configuration::Configuration, customer_id: &str, subscription_id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_subscription_id = subscription_id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/customers/{customerId}/subscriptions/{subscriptionId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), subscriptionId=crate::apis::urlencode(p_path_subscription_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SubscriptionResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SubscriptionResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// With subscriptions, you can schedule recurring payments to take place at regular intervals. For example, by simply specifying an `amount` and an `interval`, you can create an endless subscription to charge a monthly fee, until you cancel the subscription. Or, you could use the times parameter to only charge a limited number of times, for example to split a big transaction in multiple parts. A few example usages: `amount[currency]=\"EUR\"` `amount[value]=\"5.00\"` `interval=\"2 weeks\"` Your customer will be charged €5 once every two weeks. `amount[currency]=\"EUR\"` `amount[value]=\"20.00\"` `interval=\"1 day\" times=5` Your customer will be charged €20 every day, for five consecutive days. `amount[currency]=\"EUR\"` `amount[value]=\"10.00\"` `interval=\"1 month\"` `startDate=\"2018-04-30\"` Your customer will be charged €10 on the last day of each month, starting in April 2018. +pub async fn create_subscription(configuration: &configuration::Configuration, customer_id: &str, idempotency_key: Option<&str>, subscription_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_header_idempotency_key = idempotency_key; + let p_body_subscription_request = subscription_request; + + let uri_str = format!("{}/customers/{customerId}/subscriptions", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_subscription_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SubscriptionResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SubscriptionResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single subscription by its ID and the ID of its parent customer. +pub async fn get_subscription(configuration: &configuration::Configuration, customer_id: &str, subscription_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_subscription_id = subscription_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/subscriptions/{subscriptionId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), subscriptionId=crate::apis::urlencode(p_path_subscription_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SubscriptionResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SubscriptionResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all subscriptions initiated across all your customers. The results are paginated. +pub async fn list_all_subscriptions(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/subscriptions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListAllSubscriptions200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListAllSubscriptions200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all payments of a specific subscription. The results are paginated. +pub async fn list_subscription_payments(configuration: &configuration::Configuration, customer_id: &str, subscription_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, profile_id: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_subscription_id = subscription_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_profile_id = profile_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/subscriptions/{subscriptionId}/payments", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), subscriptionId=crate::apis::urlencode(p_path_subscription_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_profile_id { + req_builder = req_builder.query(&[("profileId", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSettlementPayments200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSettlementPayments200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve all subscriptions of a customer. The results are paginated. +pub async fn list_subscriptions(configuration: &configuration::Configuration, customer_id: &str, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/customers/{customerId}/subscriptions", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListSubscriptions200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListSubscriptions200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Update an existing subscription. Canceled subscriptions cannot be updated. For an in-depth explanation of each parameter, refer to the [Create subscription](create-subscription) endpoint. +pub async fn update_subscription(configuration: &configuration::Configuration, customer_id: &str, subscription_id: &str, idempotency_key: Option<&str>, update_subscription_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_customer_id = customer_id; + let p_path_subscription_id = subscription_id; + let p_header_idempotency_key = idempotency_key; + let p_body_update_subscription_request = update_subscription_request; + + let uri_str = format!("{}/customers/{customerId}/subscriptions/{subscriptionId}", configuration.base_path, customerId=crate::apis::urlencode(p_path_customer_id), subscriptionId=crate::apis::urlencode(p_path_subscription_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_subscription_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::SubscriptionResponse`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::SubscriptionResponse`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/terminals_api_api.rs b/src/apis/terminals_api_api.rs new file mode 100644 index 0000000..30ed930 --- /dev/null +++ b/src/apis/terminals_api_api.rs @@ -0,0 +1,147 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_terminal`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetTerminalError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_terminals`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListTerminalsError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single terminal by its ID. +pub async fn get_terminal(configuration: &configuration::Configuration, terminal_id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_terminal_id = terminal_id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/terminals/{terminalId}", configuration.base_path, terminalId=crate::apis::urlencode(p_path_terminal_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityTerminal`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityTerminal`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a list of all physical point-of-sale devices. The results are paginated. +pub async fn list_terminals(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/terminals", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListTerminals200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListTerminals200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/wallets_api_api.rs b/src/apis/wallets_api_api.rs new file mode 100644 index 0000000..cd3bedd --- /dev/null +++ b/src/apis/wallets_api_api.rs @@ -0,0 +1,74 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`request_apple_pay_payment_session`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum RequestApplePayPaymentSessionError { + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// When integrating Apple Pay in your own checkout on the web, you need to [provide merchant validation](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation). This is normally done using Apple's [Requesting an Apple Pay Session](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session). The merchant validation proves to Apple that a validated merchant is calling the Apple Pay Javascript APIs. To integrate Apple Pay via Mollie, you will have to call the Mollie API instead of Apple's API. The response of this API call can then be passed as-is to the completion method, `completeMerchantValidation`. Before requesting an Apple Pay Payment Session, you must place the domain validation file on your server at: `https://[domain]/.well-known/apple-developer-merchantid-domain-association`. Without this file, it will not be possible to use Apple Pay on your domain. Each new transaction requires a new payment session object. Merchant session objects are not reusable, and they expire after five minutes. Payment sessions cannot be requested directly from the browser. The request must be sent from your server. For the full documentation, see the official [Apple Pay JS API](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api) documentation. +pub async fn request_apple_pay_payment_session(configuration: &configuration::Configuration, idempotency_key: Option<&str>, request_apple_pay_payment_session_request: Option) -> Result, Error> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_request_apple_pay_payment_session_request = request_apple_pay_payment_session_request; + + let uri_str = format!("{}/wallets/applepay/sessions", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.bearer_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_request_apple_pay_payment_session_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `std::collections::HashMap<String, serde_json::Value>`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `std::collections::HashMap<String, serde_json::Value>`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/webhook_events_api_api.rs b/src/apis/webhook_events_api_api.rs new file mode 100644 index 0000000..6ebbc70 --- /dev/null +++ b/src/apis/webhook_events_api_api.rs @@ -0,0 +1,74 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`get_webhook_event`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetWebhookEventError { + Status404(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// Retrieve a single webhook event object by its event ID. +pub async fn get_webhook_event(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/events/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityWebhookEvent`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityWebhookEvent`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/apis/webhooks_api_api.rs b/src/apis/webhooks_api_api.rs new file mode 100644 index 0000000..e74fc19 --- /dev/null +++ b/src/apis/webhooks_api_api.rs @@ -0,0 +1,364 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + + +use reqwest; +use serde::{Deserialize, Serialize, de::Error as _}; +use crate::{apis::ResponseContent, models}; +use super::{Error, configuration, ContentType}; + + +/// struct for typed errors of method [`create_webhook`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum CreateWebhookError { + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`delete_webhook`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum DeleteWebhookError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`get_webhook`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum GetWebhookError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`list_webhooks`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ListWebhooksError { + Status400(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`test_webhook`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum TestWebhookError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + +/// struct for typed errors of method [`update_webhook`] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(untagged)] +pub enum UpdateWebhookError { + Status404(models::ErrorResponse), + Status422(models::ErrorResponse), + UnknownValue(serde_json::Value), +} + + +/// A webhook must have a name, an url and a list of event types. You can also create webhooks in the webhooks settings section of the Dashboard. +pub async fn create_webhook(configuration: &configuration::Configuration, idempotency_key: Option<&str>, create_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_header_idempotency_key = idempotency_key; + let p_body_create_webhook_request = create_webhook_request; + + let uri_str = format!("{}/webhooks", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_create_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::CreateWebhook`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::CreateWebhook`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Delete a single webhook object by its webhook ID. +pub async fn delete_webhook(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/webhooks/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Retrieve a single webhook object by its ID. +pub async fn get_webhook(configuration: &configuration::Configuration, id: &str, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/webhooks/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityWebhook`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityWebhook`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Returns a paginated list of your webhooks. If no webhook endpoints are available, the resulting array will be empty. This request should never throw an error. +pub async fn list_webhooks(configuration: &configuration::Configuration, from: Option<&str>, limit: Option, sort: Option<&str>, event_types: Option, testmode: Option, idempotency_key: Option<&str>) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_query_from = from; + let p_query_limit = limit; + let p_query_sort = sort; + let p_query_event_types = event_types; + let p_query_testmode = testmode; + let p_header_idempotency_key = idempotency_key; + + let uri_str = format!("{}/webhooks", configuration.base_path); + let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str); + + if let Some(ref param_value) = p_query_from { + req_builder = req_builder.query(&[("from", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_limit { + req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_sort { + req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_event_types { + req_builder = req_builder.query(&[("eventTypes", ¶m_value.to_string())]); + } + if let Some(ref param_value) = p_query_testmode { + req_builder = req_builder.query(&[("testmode", ¶m_value.to_string())]); + } + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ListWebhooks200Response`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ListWebhooks200Response`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Sends a test event to the webhook to verify the endpoint is working as expected. +pub async fn test_webhook(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>, delete_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_delete_webhook_request = delete_webhook_request; + + let uri_str = format!("{}/webhooks/{id}/ping", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_delete_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `serde_json::Value`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `serde_json::Value`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + +/// Updates the webhook. You may edit the name, url and the list of subscribed event types. +pub async fn update_webhook(configuration: &configuration::Configuration, id: &str, idempotency_key: Option<&str>, update_webhook_request: Option) -> Result> { + // add a prefix to parameters to efficiently prevent name collisions + let p_path_id = id; + let p_header_idempotency_key = idempotency_key; + let p_body_update_webhook_request = update_webhook_request; + + let uri_str = format!("{}/webhooks/{id}", configuration.base_path, id=crate::apis::urlencode(p_path_id)); + let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str); + + if let Some(ref user_agent) = configuration.user_agent { + req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone()); + } + if let Some(param_value) = p_header_idempotency_key { + req_builder = req_builder.header("idempotency-key", param_value.to_string()); + } + if let Some(ref token) = configuration.oauth_access_token { + req_builder = req_builder.bearer_auth(token.to_owned()); + }; + req_builder = req_builder.json(&p_body_update_webhook_request); + + let req = req_builder.build()?; + let resp = configuration.client.execute(req).await?; + + let status = resp.status(); + let content_type = resp + .headers() + .get("content-type") + .and_then(|v| v.to_str().ok()) + .unwrap_or("application/octet-stream"); + let content_type = super::ContentType::from(content_type); + + if !status.is_client_error() && !status.is_server_error() { + let content = resp.text().await?; + match content_type { + ContentType::Json => serde_json::from_str(&content).map_err(Error::from), + ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::EntityWebhook`"))), + ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::EntityWebhook`")))), + } + } else { + let content = resp.text().await?; + let entity: Option = serde_json::from_str(&content).ok(); + Err(Error::ResponseError(ResponseContent { status, content, entity })) + } +} + diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..e152062 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,11 @@ +#![allow(unused_imports)] +#![allow(clippy::too_many_arguments)] + +extern crate serde_repr; +extern crate serde; +extern crate serde_json; +extern crate url; +extern crate reqwest; + +pub mod apis; +pub mod models; diff --git a/src/models/_profiles__profile_id__methods__id__profile_id_parameter.rs b/src/models/_profiles__profile_id__methods__id__profile_id_parameter.rs new file mode 100644 index 0000000..aa30c8f --- /dev/null +++ b/src/models/_profiles__profile_id__methods__id__profile_id_parameter.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum ProfilesProfileIdMethodsIdProfileIdParameter { + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + ProfileToken(String), + String(String), +} + +impl Default for ProfilesProfileIdMethodsIdProfileIdParameter { + fn default() -> Self { + Self::ProfileToken(Default::default()) + } +} + diff --git a/src/models/address.rs b/src/models/address.rs new file mode 100644 index 0000000..dc57c09 --- /dev/null +++ b/src/models/address.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Address { + /// A street and street number. + #[serde(rename = "streetAndNumber", skip_serializing_if = "Option::is_none")] + pub street_and_number: Option, + /// A postal code. This field may be required if the provided country has a postal code system. + #[serde(rename = "postalCode", skip_serializing_if = "Option::is_none")] + pub postal_code: Option, + #[serde(rename = "city", skip_serializing_if = "Option::is_none")] + pub city: Option, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "country", skip_serializing_if = "Option::is_none")] + pub country: Option, +} + +impl Address { + pub fn new() -> Address { + Address { + street_and_number: None, + postal_code: None, + city: None, + country: None, + } + } +} + diff --git a/src/models/amount.rs b/src/models/amount.rs new file mode 100644 index 0000000..65e53bd --- /dev/null +++ b/src/models/amount.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Amount : In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Amount { + /// A three-character ISO 4217 currency code. + #[serde(rename = "currency")] + pub currency: String, + /// A string containing an exact monetary amount in the given currency. + #[serde(rename = "value")] + pub value: String, +} + +impl Amount { + /// In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. + pub fn new(currency: String, value: String) -> Amount { + Amount { + currency, + value, + } + } +} + diff --git a/src/models/amount_nullable.rs b/src/models/amount_nullable.rs new file mode 100644 index 0000000..63b5d17 --- /dev/null +++ b/src/models/amount_nullable.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// AmountNullable : In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct AmountNullable { + /// A three-character ISO 4217 currency code. + #[serde(rename = "currency")] + pub currency: String, + /// A string containing an exact monetary amount in the given currency. + #[serde(rename = "value")] + pub value: String, +} + +impl AmountNullable { + /// In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field. + pub fn new(currency: String, value: String) -> AmountNullable { + AmountNullable { + currency, + value, + } + } +} + diff --git a/src/models/balance_report_grouping.rs b/src/models/balance_report_grouping.rs new file mode 100644 index 0000000..b84eafd --- /dev/null +++ b/src/models/balance_report_grouping.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceReportGrouping { + #[serde(rename = "status-balances")] + StatusBalances, + #[serde(rename = "transaction-categories")] + TransactionCategories, + +} + +impl std::fmt::Display for BalanceReportGrouping { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::StatusBalances => write!(f, "status-balances"), + Self::TransactionCategories => write!(f, "transaction-categories"), + } + } +} + +impl Default for BalanceReportGrouping { + fn default() -> BalanceReportGrouping { + Self::StatusBalances + } +} + diff --git a/src/models/balance_status.rs b/src/models/balance_status.rs new file mode 100644 index 0000000..593cb49 --- /dev/null +++ b/src/models/balance_status.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceStatus : The status of the balance. +/// The status of the balance. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceStatus { + #[serde(rename = "active")] + Active, + #[serde(rename = "inactive")] + Inactive, + +} + +impl std::fmt::Display for BalanceStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Active => write!(f, "active"), + Self::Inactive => write!(f, "inactive"), + } + } +} + +impl Default for BalanceStatus { + fn default() -> BalanceStatus { + Self::Active + } +} + diff --git a/src/models/balance_transaction_type.rs b/src/models/balance_transaction_type.rs new file mode 100644 index 0000000..ad12a9f --- /dev/null +++ b/src/models/balance_transaction_type.rs @@ -0,0 +1,170 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransactionType { + #[serde(rename = "application-fee")] + ApplicationFee, + #[serde(rename = "capture")] + Capture, + #[serde(rename = "chargeback")] + Chargeback, + #[serde(rename = "chargeback-reversal")] + ChargebackReversal, + #[serde(rename = "failed-payment-fee")] + FailedPaymentFee, + #[serde(rename = "failed-payment")] + FailedPayment, + #[serde(rename = "invoice-compensation")] + InvoiceCompensation, + #[serde(rename = "payment")] + Payment, + #[serde(rename = "payment-fee")] + PaymentFee, + #[serde(rename = "payment-commission")] + PaymentCommission, + #[serde(rename = "refund")] + Refund, + #[serde(rename = "returned-refund")] + ReturnedRefund, + #[serde(rename = "returned-transfer")] + ReturnedTransfer, + #[serde(rename = "split-payment")] + SplitPayment, + #[serde(rename = "outgoing-transfer")] + OutgoingTransfer, + #[serde(rename = "capture-commission")] + CaptureCommission, + #[serde(rename = "canceled-outgoing-transfer")] + CanceledOutgoingTransfer, + #[serde(rename = "incoming-transfer")] + IncomingTransfer, + #[serde(rename = "api-payment-rolling-reserve-release")] + ApiPaymentRollingReserveRelease, + #[serde(rename = "capture-rolling-reserve-release")] + CaptureRollingReserveRelease, + #[serde(rename = "reimbursement-fee")] + ReimbursementFee, + #[serde(rename = "balance-correction")] + BalanceCorrection, + #[serde(rename = "unauthorized-direct-debit")] + UnauthorizedDirectDebit, + #[serde(rename = "bank-charged-failure-fee")] + BankChargedFailureFee, + #[serde(rename = "platform-payment-refund")] + PlatformPaymentRefund, + #[serde(rename = "refund-compensation")] + RefundCompensation, + #[serde(rename = "returned-refund-compensation")] + ReturnedRefundCompensation, + #[serde(rename = "returned-platform-payment-refund")] + ReturnedPlatformPaymentRefund, + #[serde(rename = "platform-payment-chargeback")] + PlatformPaymentChargeback, + #[serde(rename = "chargeback-compensation")] + ChargebackCompensation, + #[serde(rename = "reversed-platform-payment-chargeback")] + ReversedPlatformPaymentChargeback, + #[serde(rename = "reversed-chargeback-compensation")] + ReversedChargebackCompensation, + #[serde(rename = "failed-split-payment-platform")] + FailedSplitPaymentPlatform, + #[serde(rename = "failed-split-payment-compensation")] + FailedSplitPaymentCompensation, + #[serde(rename = "cash-advance-loan")] + CashAdvanceLoan, + #[serde(rename = "platform-connected-organizations-fee")] + PlatformConnectedOrganizationsFee, + #[serde(rename = "split-transaction")] + SplitTransaction, + #[serde(rename = "managed-fee")] + ManagedFee, + #[serde(rename = "returned-managed-fee")] + ReturnedManagedFee, + #[serde(rename = "topup")] + Topup, + #[serde(rename = "balance-reserve")] + BalanceReserve, + #[serde(rename = "balance-reserve-return")] + BalanceReserveReturn, + #[serde(rename = "movement")] + Movement, + #[serde(rename = "post-payment-split-payment")] + PostPaymentSplitPayment, + #[serde(rename = "cash-collateral-issuance")] + CashCollateralIssuance, + #[serde(rename = "cash-collateral-release")] + CashCollateralRelease, + +} + +impl std::fmt::Display for BalanceTransactionType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::ApplicationFee => write!(f, "application-fee"), + Self::Capture => write!(f, "capture"), + Self::Chargeback => write!(f, "chargeback"), + Self::ChargebackReversal => write!(f, "chargeback-reversal"), + Self::FailedPaymentFee => write!(f, "failed-payment-fee"), + Self::FailedPayment => write!(f, "failed-payment"), + Self::InvoiceCompensation => write!(f, "invoice-compensation"), + Self::Payment => write!(f, "payment"), + Self::PaymentFee => write!(f, "payment-fee"), + Self::PaymentCommission => write!(f, "payment-commission"), + Self::Refund => write!(f, "refund"), + Self::ReturnedRefund => write!(f, "returned-refund"), + Self::ReturnedTransfer => write!(f, "returned-transfer"), + Self::SplitPayment => write!(f, "split-payment"), + Self::OutgoingTransfer => write!(f, "outgoing-transfer"), + Self::CaptureCommission => write!(f, "capture-commission"), + Self::CanceledOutgoingTransfer => write!(f, "canceled-outgoing-transfer"), + Self::IncomingTransfer => write!(f, "incoming-transfer"), + Self::ApiPaymentRollingReserveRelease => write!(f, "api-payment-rolling-reserve-release"), + Self::CaptureRollingReserveRelease => write!(f, "capture-rolling-reserve-release"), + Self::ReimbursementFee => write!(f, "reimbursement-fee"), + Self::BalanceCorrection => write!(f, "balance-correction"), + Self::UnauthorizedDirectDebit => write!(f, "unauthorized-direct-debit"), + Self::BankChargedFailureFee => write!(f, "bank-charged-failure-fee"), + Self::PlatformPaymentRefund => write!(f, "platform-payment-refund"), + Self::RefundCompensation => write!(f, "refund-compensation"), + Self::ReturnedRefundCompensation => write!(f, "returned-refund-compensation"), + Self::ReturnedPlatformPaymentRefund => write!(f, "returned-platform-payment-refund"), + Self::PlatformPaymentChargeback => write!(f, "platform-payment-chargeback"), + Self::ChargebackCompensation => write!(f, "chargeback-compensation"), + Self::ReversedPlatformPaymentChargeback => write!(f, "reversed-platform-payment-chargeback"), + Self::ReversedChargebackCompensation => write!(f, "reversed-chargeback-compensation"), + Self::FailedSplitPaymentPlatform => write!(f, "failed-split-payment-platform"), + Self::FailedSplitPaymentCompensation => write!(f, "failed-split-payment-compensation"), + Self::CashAdvanceLoan => write!(f, "cash-advance-loan"), + Self::PlatformConnectedOrganizationsFee => write!(f, "platform-connected-organizations-fee"), + Self::SplitTransaction => write!(f, "split-transaction"), + Self::ManagedFee => write!(f, "managed-fee"), + Self::ReturnedManagedFee => write!(f, "returned-managed-fee"), + Self::Topup => write!(f, "topup"), + Self::BalanceReserve => write!(f, "balance-reserve"), + Self::BalanceReserveReturn => write!(f, "balance-reserve-return"), + Self::Movement => write!(f, "movement"), + Self::PostPaymentSplitPayment => write!(f, "post-payment-split-payment"), + Self::CashCollateralIssuance => write!(f, "cash-collateral-issuance"), + Self::CashCollateralRelease => write!(f, "cash-collateral-release"), + } + } +} + +impl Default for BalanceTransactionType { + fn default() -> BalanceTransactionType { + Self::ApplicationFee + } +} + diff --git a/src/models/balance_transfer_category.rs b/src/models/balance_transfer_category.rs new file mode 100644 index 0000000..1c3e144 --- /dev/null +++ b/src/models/balance_transfer_category.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferCategory : The type of the transfer. Different fees may apply to different types of transfers. +/// The type of the transfer. Different fees may apply to different types of transfers. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferCategory { + #[serde(rename = "invoice_collection")] + InvoiceCollection, + #[serde(rename = "purchase")] + Purchase, + #[serde(rename = "chargeback")] + Chargeback, + #[serde(rename = "refund")] + Refund, + #[serde(rename = "service_penalty")] + ServicePenalty, + #[serde(rename = "discount_compensation")] + DiscountCompensation, + #[serde(rename = "manual_correction")] + ManualCorrection, + #[serde(rename = "other_fee")] + OtherFee, + +} + +impl std::fmt::Display for BalanceTransferCategory { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::InvoiceCollection => write!(f, "invoice_collection"), + Self::Purchase => write!(f, "purchase"), + Self::Chargeback => write!(f, "chargeback"), + Self::Refund => write!(f, "refund"), + Self::ServicePenalty => write!(f, "service_penalty"), + Self::DiscountCompensation => write!(f, "discount_compensation"), + Self::ManualCorrection => write!(f, "manual_correction"), + Self::OtherFee => write!(f, "other_fee"), + } + } +} + +impl Default for BalanceTransferCategory { + fn default() -> BalanceTransferCategory { + Self::InvoiceCollection + } +} + diff --git a/src/models/balance_transfer_category_response.rs b/src/models/balance_transfer_category_response.rs new file mode 100644 index 0000000..327d799 --- /dev/null +++ b/src/models/balance_transfer_category_response.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferCategoryResponse : The type of the transfer. Different fees may apply to different types of transfers. +/// The type of the transfer. Different fees may apply to different types of transfers. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferCategoryResponse { + #[serde(rename = "invoice_collection")] + InvoiceCollection, + #[serde(rename = "purchase")] + Purchase, + #[serde(rename = "chargeback")] + Chargeback, + #[serde(rename = "refund")] + Refund, + #[serde(rename = "service_penalty")] + ServicePenalty, + #[serde(rename = "discount_compensation")] + DiscountCompensation, + #[serde(rename = "manual_correction")] + ManualCorrection, + #[serde(rename = "other_fee")] + OtherFee, + +} + +impl std::fmt::Display for BalanceTransferCategoryResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::InvoiceCollection => write!(f, "invoice_collection"), + Self::Purchase => write!(f, "purchase"), + Self::Chargeback => write!(f, "chargeback"), + Self::Refund => write!(f, "refund"), + Self::ServicePenalty => write!(f, "service_penalty"), + Self::DiscountCompensation => write!(f, "discount_compensation"), + Self::ManualCorrection => write!(f, "manual_correction"), + Self::OtherFee => write!(f, "other_fee"), + } + } +} + +impl Default for BalanceTransferCategoryResponse { + fn default() -> BalanceTransferCategoryResponse { + Self::InvoiceCollection + } +} + diff --git a/src/models/balance_transfer_destination_type.rs b/src/models/balance_transfer_destination_type.rs new file mode 100644 index 0000000..d974660 --- /dev/null +++ b/src/models/balance_transfer_destination_type.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferDestinationType : The default destination of automatic scheduled transfers. Currently only `bank-account` is supported. * `bank-account` — Transfer the balance amount to an external bank account +/// The default destination of automatic scheduled transfers. Currently only `bank-account` is supported. * `bank-account` — Transfer the balance amount to an external bank account +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferDestinationType { + #[serde(rename = "bank-account")] + BankAccount, + +} + +impl std::fmt::Display for BalanceTransferDestinationType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::BankAccount => write!(f, "bank-account"), + } + } +} + +impl Default for BalanceTransferDestinationType { + fn default() -> BalanceTransferDestinationType { + Self::BankAccount + } +} + diff --git a/src/models/balance_transfer_frequency.rs b/src/models/balance_transfer_frequency.rs new file mode 100644 index 0000000..61691b6 --- /dev/null +++ b/src/models/balance_transfer_frequency.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferFrequency : The frequency with which the available amount on the balance will be settled to the configured transfer destination. Settlements created during weekends or on bank holidays will take place on the next business day. +/// The frequency with which the available amount on the balance will be settled to the configured transfer destination. Settlements created during weekends or on bank holidays will take place on the next business day. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferFrequency { + #[serde(rename = "daily")] + Daily, + #[serde(rename = "every-monday")] + EveryMonday, + #[serde(rename = "every-tuesday")] + EveryTuesday, + #[serde(rename = "every-wednesday")] + EveryWednesday, + #[serde(rename = "every-thursday")] + EveryThursday, + #[serde(rename = "every-friday")] + EveryFriday, + #[serde(rename = "monthly")] + Monthly, + #[serde(rename = "never")] + Never, + +} + +impl std::fmt::Display for BalanceTransferFrequency { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Daily => write!(f, "daily"), + Self::EveryMonday => write!(f, "every-monday"), + Self::EveryTuesday => write!(f, "every-tuesday"), + Self::EveryWednesday => write!(f, "every-wednesday"), + Self::EveryThursday => write!(f, "every-thursday"), + Self::EveryFriday => write!(f, "every-friday"), + Self::Monthly => write!(f, "monthly"), + Self::Never => write!(f, "never"), + } + } +} + +impl Default for BalanceTransferFrequency { + fn default() -> BalanceTransferFrequency { + Self::Daily + } +} + diff --git a/src/models/balance_transfer_party_type.rs b/src/models/balance_transfer_party_type.rs new file mode 100644 index 0000000..89ca9fa --- /dev/null +++ b/src/models/balance_transfer_party_type.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferPartyType : Defines the type of the party. At the moment, only `organization` is supported. +/// Defines the type of the party. At the moment, only `organization` is supported. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferPartyType { + #[serde(rename = "organization")] + Organization, + +} + +impl std::fmt::Display for BalanceTransferPartyType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Organization => write!(f, "organization"), + } + } +} + +impl Default for BalanceTransferPartyType { + fn default() -> BalanceTransferPartyType { + Self::Organization + } +} + diff --git a/src/models/balance_transfer_party_type_response.rs b/src/models/balance_transfer_party_type_response.rs new file mode 100644 index 0000000..4dc801a --- /dev/null +++ b/src/models/balance_transfer_party_type_response.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferPartyTypeResponse : Defines the type of the party. At the moment, only `organization` is supported. +/// Defines the type of the party. At the moment, only `organization` is supported. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferPartyTypeResponse { + #[serde(rename = "organization")] + Organization, + +} + +impl std::fmt::Display for BalanceTransferPartyTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Organization => write!(f, "organization"), + } + } +} + +impl Default for BalanceTransferPartyTypeResponse { + fn default() -> BalanceTransferPartyTypeResponse { + Self::Organization + } +} + diff --git a/src/models/balance_transfer_status.rs b/src/models/balance_transfer_status.rs new file mode 100644 index 0000000..d6f81e7 --- /dev/null +++ b/src/models/balance_transfer_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferStatus : The status of the transfer. +/// The status of the transfer. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferStatus { + #[serde(rename = "created")] + Created, + #[serde(rename = "failed")] + Failed, + #[serde(rename = "succeeded")] + Succeeded, + +} + +impl std::fmt::Display for BalanceTransferStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Created => write!(f, "created"), + Self::Failed => write!(f, "failed"), + Self::Succeeded => write!(f, "succeeded"), + } + } +} + +impl Default for BalanceTransferStatus { + fn default() -> BalanceTransferStatus { + Self::Created + } +} + diff --git a/src/models/balance_transfer_status_reason.rs b/src/models/balance_transfer_status_reason.rs new file mode 100644 index 0000000..ad263b8 --- /dev/null +++ b/src/models/balance_transfer_status_reason.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferStatusReason : A machine-readable code that indicates the reason for the transfer's status. +/// A machine-readable code that indicates the reason for the transfer's status. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferStatusReason { + #[serde(rename = "request_created")] + RequestCreated, + #[serde(rename = "success")] + Success, + #[serde(rename = "source_not_allowed")] + SourceNotAllowed, + #[serde(rename = "destination_not_allowed")] + DestinationNotAllowed, + #[serde(rename = "insufficient_funds")] + InsufficientFunds, + #[serde(rename = "invalid_source_balance")] + InvalidSourceBalance, + #[serde(rename = "invalid_destination_balance")] + InvalidDestinationBalance, + #[serde(rename = "transfer_request_expired")] + TransferRequestExpired, + #[serde(rename = "transfer_limit_reached")] + TransferLimitReached, + +} + +impl std::fmt::Display for BalanceTransferStatusReason { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::RequestCreated => write!(f, "request_created"), + Self::Success => write!(f, "success"), + Self::SourceNotAllowed => write!(f, "source_not_allowed"), + Self::DestinationNotAllowed => write!(f, "destination_not_allowed"), + Self::InsufficientFunds => write!(f, "insufficient_funds"), + Self::InvalidSourceBalance => write!(f, "invalid_source_balance"), + Self::InvalidDestinationBalance => write!(f, "invalid_destination_balance"), + Self::TransferRequestExpired => write!(f, "transfer_request_expired"), + Self::TransferLimitReached => write!(f, "transfer_limit_reached"), + } + } +} + +impl Default for BalanceTransferStatusReason { + fn default() -> BalanceTransferStatusReason { + Self::RequestCreated + } +} + diff --git a/src/models/balance_transfer_status_reason_response.rs b/src/models/balance_transfer_status_reason_response.rs new file mode 100644 index 0000000..dc2ebb3 --- /dev/null +++ b/src/models/balance_transfer_status_reason_response.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BalanceTransferStatusReasonResponse : A machine-readable code that indicates the reason for the transfer's status. +/// A machine-readable code that indicates the reason for the transfer's status. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum BalanceTransferStatusReasonResponse { + #[serde(rename = "request_created")] + RequestCreated, + #[serde(rename = "success")] + Success, + #[serde(rename = "source_not_allowed")] + SourceNotAllowed, + #[serde(rename = "destination_not_allowed")] + DestinationNotAllowed, + #[serde(rename = "insufficient_funds")] + InsufficientFunds, + #[serde(rename = "invalid_source_balance")] + InvalidSourceBalance, + #[serde(rename = "invalid_destination_balance")] + InvalidDestinationBalance, + #[serde(rename = "transfer_request_expired")] + TransferRequestExpired, + #[serde(rename = "transfer_limit_reached")] + TransferLimitReached, + +} + +impl std::fmt::Display for BalanceTransferStatusReasonResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::RequestCreated => write!(f, "request_created"), + Self::Success => write!(f, "success"), + Self::SourceNotAllowed => write!(f, "source_not_allowed"), + Self::DestinationNotAllowed => write!(f, "destination_not_allowed"), + Self::InsufficientFunds => write!(f, "insufficient_funds"), + Self::InvalidSourceBalance => write!(f, "invalid_source_balance"), + Self::InvalidDestinationBalance => write!(f, "invalid_destination_balance"), + Self::TransferRequestExpired => write!(f, "transfer_request_expired"), + Self::TransferLimitReached => write!(f, "transfer_limit_reached"), + } + } +} + +impl Default for BalanceTransferStatusReasonResponse { + fn default() -> BalanceTransferStatusReasonResponse { + Self::RequestCreated + } +} + diff --git a/src/models/billing_address.rs b/src/models/billing_address.rs new file mode 100644 index 0000000..327f616 --- /dev/null +++ b/src/models/billing_address.rs @@ -0,0 +1,73 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// BillingAddress : The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct BillingAddress { + /// The title of the person, for example *Mr.* or *Mrs.*. + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + /// The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "givenName", skip_serializing_if = "Option::is_none")] + pub given_name: Option, + /// The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "familyName", skip_serializing_if = "Option::is_none")] + pub family_name: Option, + #[serde(rename = "organizationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_name: Option>, + /// A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "streetAndNumber", skip_serializing_if = "Option::is_none")] + pub street_and_number: Option, + /// Any additional addressing details, for example an apartment number. + #[serde(rename = "streetAdditional", skip_serializing_if = "Option::is_none")] + pub street_additional: Option, + /// A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "postalCode", skip_serializing_if = "Option::is_none")] + pub postal_code: Option, + /// A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "city", skip_serializing_if = "Option::is_none")] + pub city: Option, + /// The top-level administrative subdivision of the country. For example: Noord-Holland. + #[serde(rename = "region", skip_serializing_if = "Option::is_none")] + pub region: Option, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "country", skip_serializing_if = "Option::is_none")] + pub country: Option, +} + +impl BillingAddress { + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + pub fn new() -> BillingAddress { + BillingAddress { + title: None, + given_name: None, + family_name: None, + organization_name: None, + street_and_number: None, + street_additional: None, + postal_code: None, + email: None, + phone: None, + city: None, + region: None, + country: None, + } + } +} + diff --git a/src/models/cancel_payment_request.rs b/src/models/cancel_payment_request.rs new file mode 100644 index 0000000..2c16fb6 --- /dev/null +++ b/src/models/cancel_payment_request.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CancelPaymentRequest { + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl CancelPaymentRequest { + pub fn new() -> CancelPaymentRequest { + CancelPaymentRequest { + testmode: None, + } + } +} + diff --git a/src/models/capability_requirement_status.rs b/src/models/capability_requirement_status.rs new file mode 100644 index 0000000..471f4fb --- /dev/null +++ b/src/models/capability_requirement_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CapabilityRequirementStatus : The status of the requirement depends on its due date. If no due date is given, the status will be `requested`. +/// The status of the requirement depends on its due date. If no due date is given, the status will be `requested`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CapabilityRequirementStatus { + #[serde(rename = "currently-due")] + CurrentlyDue, + #[serde(rename = "past-due")] + PastDue, + #[serde(rename = "requested")] + Requested, + +} + +impl std::fmt::Display for CapabilityRequirementStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::CurrentlyDue => write!(f, "currently-due"), + Self::PastDue => write!(f, "past-due"), + Self::Requested => write!(f, "requested"), + } + } +} + +impl Default for CapabilityRequirementStatus { + fn default() -> CapabilityRequirementStatus { + Self::CurrentlyDue + } +} + diff --git a/src/models/capability_status.rs b/src/models/capability_status.rs new file mode 100644 index 0000000..66d1e5a --- /dev/null +++ b/src/models/capability_status.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CapabilityStatus { + #[serde(rename = "unrequested")] + Unrequested, + #[serde(rename = "enabled")] + Enabled, + #[serde(rename = "disabled")] + Disabled, + #[serde(rename = "pending")] + Pending, + +} + +impl std::fmt::Display for CapabilityStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Unrequested => write!(f, "unrequested"), + Self::Enabled => write!(f, "enabled"), + Self::Disabled => write!(f, "disabled"), + Self::Pending => write!(f, "pending"), + } + } +} + +impl Default for CapabilityStatus { + fn default() -> CapabilityStatus { + Self::Unrequested + } +} + diff --git a/src/models/capability_status_reason.rs b/src/models/capability_status_reason.rs new file mode 100644 index 0000000..c4b70c4 --- /dev/null +++ b/src/models/capability_status_reason.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CapabilityStatusReason { + #[serde(rename = "requirement-past-due")] + RequirementPastDue, + #[serde(rename = "onboarding-information-needed")] + OnboardingInformationNeeded, + +} + +impl std::fmt::Display for CapabilityStatusReason { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::RequirementPastDue => write!(f, "requirement-past-due"), + Self::OnboardingInformationNeeded => write!(f, "onboarding-information-needed"), + } + } +} + +impl Default for CapabilityStatusReason { + fn default() -> CapabilityStatusReason { + Self::RequirementPastDue + } +} + diff --git a/src/models/capture_mode.rs b/src/models/capture_mode.rs new file mode 100644 index 0000000..4b391b6 --- /dev/null +++ b/src/models/capture_mode.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptureMode : Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) and capture at a later time. This field needs to be set to `manual` for method `riverty`. +/// Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) and capture at a later time. This field needs to be set to `manual` for method `riverty`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CaptureMode { + #[serde(rename = "automatic")] + Automatic, + #[serde(rename = "manual")] + Manual, + +} + +impl std::fmt::Display for CaptureMode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Automatic => write!(f, "automatic"), + Self::Manual => write!(f, "manual"), + } + } +} + +impl Default for CaptureMode { + fn default() -> CaptureMode { + Self::Automatic + } +} + diff --git a/src/models/capture_mode_response.rs b/src/models/capture_mode_response.rs new file mode 100644 index 0000000..e449ff4 --- /dev/null +++ b/src/models/capture_mode_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptureModeResponse : Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) and capture at a later time. This field needs to be set to `manual` for method `riverty`. +/// Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) and capture at a later time. This field needs to be set to `manual` for method `riverty`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CaptureModeResponse { + #[serde(rename = "automatic")] + Automatic, + #[serde(rename = "manual")] + Manual, + +} + +impl std::fmt::Display for CaptureModeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Automatic => write!(f, "automatic"), + Self::Manual => write!(f, "manual"), + } + } +} + +impl Default for CaptureModeResponse { + fn default() -> CaptureModeResponse { + Self::Automatic + } +} + diff --git a/src/models/capture_response.rs b/src/models/capture_response.rs new file mode 100644 index 0000000..67b24b6 --- /dev/null +++ b/src/models/capture_response.rs @@ -0,0 +1,68 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CaptureResponse { + /// Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the capture. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount captured. If no amount is provided, the full authorized amount is captured. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "shipmentId", skip_serializing_if = "Option::is_none")] + pub shipment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl CaptureResponse { + pub fn new() -> CaptureResponse { + CaptureResponse { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + settlement_amount: None, + status: None, + metadata: None, + payment_id: None, + shipment_id: None, + settlement_id: None, + created_at: None, + _links: None, + } + } +} + diff --git a/src/models/capture_status.rs b/src/models/capture_status.rs new file mode 100644 index 0000000..ab30197 --- /dev/null +++ b/src/models/capture_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CaptureStatus : The capture's status. +/// The capture's status. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CaptureStatus { + #[serde(rename = "pending")] + Pending, + #[serde(rename = "succeeded")] + Succeeded, + #[serde(rename = "failed")] + Failed, + +} + +impl std::fmt::Display for CaptureStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pending => write!(f, "pending"), + Self::Succeeded => write!(f, "succeeded"), + Self::Failed => write!(f, "failed"), + } + } +} + +impl Default for CaptureStatus { + fn default() -> CaptureStatus { + Self::Pending + } +} + diff --git a/src/models/components_sub_totals.rs b/src/models/components_sub_totals.rs new file mode 100644 index 0000000..46933f8 --- /dev/null +++ b/src/models/components_sub_totals.rs @@ -0,0 +1,281 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ComponentsSubTotals { + #[serde(rename = "sub-totals", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub sub_totals: Option>>, + /// Number of transactions of this type + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + /// Payment type of the transactions + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// In case of payments transactions with card, the card issuer will be available + #[serde(rename = "cardIssuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_issuer: Option>, + /// In case of payments trnsactions with card, the card audience will be available. + #[serde(rename = "cardAudience", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_audience: Option>, + /// In case of payments transactions with card, the card region will be available. + #[serde(rename = "cardRegion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_region: Option>, + /// Present when the transaction represents a fee. + #[serde(rename = "feeType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub fee_type: Option>, + /// Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. + #[serde(rename = "prepaymentPartType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub prepayment_part_type: Option>, + /// Represents the transaction type + #[serde(rename = "transactionType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub transaction_type: Option>, +} + +impl ComponentsSubTotals { + pub fn new() -> ComponentsSubTotals { + ComponentsSubTotals { + sub_totals: None, + count: None, + method: None, + card_issuer: None, + card_audience: None, + card_region: None, + fee_type: None, + prepayment_part_type: None, + transaction_type: None, + } + } +} +/// In case of payments transactions with card, the card issuer will be available +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardIssuer { + #[serde(rename = "amex")] + Amex, + #[serde(rename = "maestro")] + Maestro, + #[serde(rename = "carte-bancaire")] + CarteBancaire, + #[serde(rename = "other")] + Other, +} + +impl Default for CardIssuer { + fn default() -> CardIssuer { + Self::Amex + } +} +/// In case of payments trnsactions with card, the card audience will be available. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardAudience { + #[serde(rename = "corporate")] + Corporate, + #[serde(rename = "other")] + Other, +} + +impl Default for CardAudience { + fn default() -> CardAudience { + Self::Corporate + } +} +/// In case of payments transactions with card, the card region will be available. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardRegion { + #[serde(rename = "intra-eea")] + IntraEea, + #[serde(rename = "intra-eu")] + IntraEu, + #[serde(rename = "domestic")] + Domestic, + #[serde(rename = "other")] + Other, +} + +impl Default for CardRegion { + fn default() -> CardRegion { + Self::IntraEea + } +} +/// Present when the transaction represents a fee. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FeeType { + #[serde(rename = "payment-fee")] + PaymentFee, + #[serde(rename = "direct-debit-failure-fee")] + DirectDebitFailureFee, + #[serde(rename = "unauthorized-direct-debit-fee")] + UnauthorizedDirectDebitFee, + #[serde(rename = "bank-charged-direct-debit-failure-fee")] + BankChargedDirectDebitFailureFee, + #[serde(rename = "partner-commission")] + PartnerCommission, + #[serde(rename = "application-fee")] + ApplicationFee, + #[serde(rename = "capture-fee")] + CaptureFee, + #[serde(rename = "refund-fee")] + RefundFee, + #[serde(rename = "chargeback-fee")] + ChargebackFee, + #[serde(rename = "payment-notification-fee")] + PaymentNotificationFee, + #[serde(rename = "transfer-notification-fee")] + TransferNotificationFee, + #[serde(rename = "payout-fee")] + PayoutFee, + #[serde(rename = "fee-discount")] + FeeDiscount, + #[serde(rename = "fee-reimbursement")] + FeeReimbursement, + #[serde(rename = "platform-volume-fee")] + PlatformVolumeFee, + #[serde(rename = "platform-connected-organizations-fee")] + PlatformConnectedOrganizationsFee, + #[serde(rename = "balance-charge-fee")] + BalanceChargeFee, + #[serde(rename = "3ds-authentication-attempt-fee")] + Variant3dsAuthenticationAttemptFee, + #[serde(rename = "terminal-monthly-fee")] + TerminalMonthlyFee, + #[serde(rename = "acceptance-risk-fee")] + AcceptanceRiskFee, + #[serde(rename = "top-up-fee")] + TopUpFee, + #[serde(rename = "payment-gateway-fee")] + PaymentGatewayFee, + #[serde(rename = "mastercard-specialty-merchant-program-processing-fee")] + MastercardSpecialtyMerchantProgramProcessingFee, + #[serde(rename = "mastercard-specialty-merchant-program-registration-fee")] + MastercardSpecialtyMerchantProgramRegistrationFee, + #[serde(rename = "visa-integrity-risk-program-processing-fee")] + VisaIntegrityRiskProgramProcessingFee, + #[serde(rename = "visa-integrity-risk-program-registration-fee")] + VisaIntegrityRiskProgramRegistrationFee, + #[serde(rename = "minimum-invoice-amount-fee")] + MinimumInvoiceAmountFee, +} + +impl Default for FeeType { + fn default() -> FeeType { + Self::PaymentFee + } +} +/// Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PrepaymentPartType { + #[serde(rename = "fee")] + Fee, + #[serde(rename = "fee-reimbursement")] + FeeReimbursement, + #[serde(rename = "fee-discount")] + FeeDiscount, + #[serde(rename = "fee-vat")] + FeeVat, + #[serde(rename = "fee-rounding-compensation")] + FeeRoundingCompensation, +} + +impl Default for PrepaymentPartType { + fn default() -> PrepaymentPartType { + Self::Fee + } +} +/// Represents the transaction type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TransactionType { + #[serde(rename = "payment")] + Payment, + #[serde(rename = "split-payment")] + SplitPayment, + #[serde(rename = "failed-payment")] + FailedPayment, + #[serde(rename = "failed-platform-split-payment")] + FailedPlatformSplitPayment, + #[serde(rename = "failed-split-payment-compensation")] + FailedSplitPaymentCompensation, + #[serde(rename = "capture")] + Capture, + #[serde(rename = "split-transaction")] + SplitTransaction, + #[serde(rename = "refund")] + Refund, + #[serde(rename = "platform-payment-refund")] + PlatformPaymentRefund, + #[serde(rename = "returned-platform-payment-refund")] + ReturnedPlatformPaymentRefund, + #[serde(rename = "refund-compensation")] + RefundCompensation, + #[serde(rename = "returned-refund-compensation")] + ReturnedRefundCompensation, + #[serde(rename = "returned-refund")] + ReturnedRefund, + #[serde(rename = "chargeback")] + Chargeback, + #[serde(rename = "chargeback-reversal")] + ChargebackReversal, + #[serde(rename = "chargeback-compensation")] + ChargebackCompensation, + #[serde(rename = "reversed-chargeback-compensation")] + ReversedChargebackCompensation, + #[serde(rename = "platform-payment-chargeback")] + PlatformPaymentChargeback, + #[serde(rename = "reversed-platform-payment-chargeback")] + ReversedPlatformPaymentChargeback, + #[serde(rename = "fee-prepayment")] + FeePrepayment, + #[serde(rename = "outgoing-transfer")] + OutgoingTransfer, + #[serde(rename = "incoming-transfer")] + IncomingTransfer, + #[serde(rename = "canceled-transfer")] + CanceledTransfer, + #[serde(rename = "returned-transfer")] + ReturnedTransfer, + #[serde(rename = "balance-reserve")] + BalanceReserve, + #[serde(rename = "balance-reserve-return")] + BalanceReserveReturn, + #[serde(rename = "invoice-rounding-compensation")] + InvoiceRoundingCompensation, + #[serde(rename = "rolling-reserve-hold")] + RollingReserveHold, + #[serde(rename = "rolling-reserve-release")] + RollingReserveRelease, + #[serde(rename = "balance-correction")] + BalanceCorrection, + #[serde(rename = "repayment")] + Repayment, + #[serde(rename = "loan")] + Loan, + #[serde(rename = "balance-topup")] + BalanceTopup, + #[serde(rename = "cash-collateral-issuance';")] + CashCollateralIssuanceQuoteSemicolon, + #[serde(rename = "cash-collateral-release")] + CashCollateralRelease, + #[serde(rename = "pending-rolling-reserve")] + PendingRollingReserve, + #[serde(rename = "to-be-released-rolling-reserve")] + ToBeReleasedRollingReserve, + #[serde(rename = "held-rolling-reserve")] + HeldRollingReserve, + #[serde(rename = "released-rolling-reserve")] + ReleasedRollingReserve, +} + +impl Default for TransactionType { + fn default() -> TransactionType { + Self::Payment + } +} + diff --git a/src/models/create_payment_link_request.rs b/src/models/create_payment_link_request.rs new file mode 100644 index 0000000..a97d948 --- /dev/null +++ b/src/models/create_payment_link_request.rs @@ -0,0 +1,112 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreatePaymentLinkRequest { + /// Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. + #[serde(rename = "description")] + pub description: String, + /// The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. + #[serde(rename = "minimumAmount", skip_serializing_if = "Option::is_none")] + pub minimum_amount: Option>, + /// Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + #[serde(rename = "archived", skip_serializing_if = "Option::is_none")] + pub archived: Option, + /// The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. + #[serde(rename = "redirectUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option>, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option>, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub profile_id: Option>, + /// Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. + #[serde(rename = "reusable", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reusable: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment link became paid, in ISO 8601 format. + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. + #[serde(rename = "expiresAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expires_at: Option>, + /// An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. + #[serde(rename = "allowedMethods", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub allowed_methods: Option>>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + /// **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. + #[serde(rename = "customerId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub customer_id: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl CreatePaymentLinkRequest { + pub fn new(description: String) -> CreatePaymentLinkRequest { + CreatePaymentLinkRequest { + resource: None, + id: None, + mode: None, + description, + amount: None, + minimum_amount: None, + archived: None, + redirect_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + profile_id: None, + reusable: None, + created_at: None, + paid_at: None, + expires_at: None, + allowed_methods: None, + application_fee: None, + sequence_type: None, + customer_id: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/create_payment_link_request__links.rs b/src/models/create_payment_link_request__links.rs new file mode 100644 index 0000000..de389bd --- /dev/null +++ b/src/models/create_payment_link_request__links.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CreatePaymentLinkRequestLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreatePaymentLinkRequestLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The URL your customer should visit to make the payment. This is where you should redirect the customer to. + #[serde(rename = "paymentLink")] + pub payment_link: Box, +} + +impl CreatePaymentLinkRequestLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, payment_link: models::Url) -> CreatePaymentLinkRequestLinks { + CreatePaymentLinkRequestLinks { + param_self: Box::new(param_self), + payment_link: Box::new(payment_link), + } + } +} + diff --git a/src/models/create_payment_link_request_application_fee.rs b/src/models/create_payment_link_request_application_fee.rs new file mode 100644 index 0000000..c7aad58 --- /dev/null +++ b/src/models/create_payment_link_request_application_fee.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// CreatePaymentLinkRequestApplicationFee : With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreatePaymentLinkRequestApplicationFee { + /// The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment. + #[serde(rename = "amount")] + pub amount: Box, + /// The description of the application fee. This will appear on settlement reports towards both you and the connected merchant. + #[serde(rename = "description")] + pub description: String, +} + +impl CreatePaymentLinkRequestApplicationFee { + /// With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance. + pub fn new(amount: models::Amount, description: String) -> CreatePaymentLinkRequestApplicationFee { + CreatePaymentLinkRequestApplicationFee { + amount: Box::new(amount), + description, + } + } +} + diff --git a/src/models/create_webhook.rs b/src/models/create_webhook.rs new file mode 100644 index 0000000..9240a11 --- /dev/null +++ b/src/models/create_webhook.rs @@ -0,0 +1,65 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreateWebhook { + /// Indicates the response contains a webhook subscription object. Will always contain the string `webhook` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The identifier uniquely referring to this subscription. + #[serde(rename = "id")] + pub id: String, + /// The subscription's events destination. + #[serde(rename = "url")] + pub url: String, + /// The identifier uniquely referring to the profile that created the subscription. + #[serde(rename = "profileId", deserialize_with = "Option::deserialize")] + pub profile_id: Option, + /// The subscription's date time of creation. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The subscription's name. + #[serde(rename = "name")] + pub name: String, + /// The events types that are subscribed. + #[serde(rename = "eventTypes")] + pub event_types: Vec, + #[serde(rename = "status")] + pub status: models::WebhookStatus, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The subscription's secret. + #[serde(rename = "webhookSecret")] + pub webhook_secret: String, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl CreateWebhook { + pub fn new(resource: String, id: String, url: String, profile_id: Option, created_at: String, name: String, event_types: Vec, status: models::WebhookStatus, mode: models::Mode, webhook_secret: String, _links: models::EntityWebhookLinks) -> CreateWebhook { + CreateWebhook { + resource, + id, + url, + profile_id, + created_at, + name, + event_types, + status, + mode, + webhook_secret, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/create_webhook_request.rs b/src/models/create_webhook_request.rs new file mode 100644 index 0000000..87217d2 --- /dev/null +++ b/src/models/create_webhook_request.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CreateWebhookRequest { + /// A name that identifies the webhook. + #[serde(rename = "name")] + pub name: String, + /// The URL Mollie will send the events to. This URL must be publicly accessible. + #[serde(rename = "url")] + pub url: String, + /// The list of events to enable for this webhook. You may specify `'*'` to add all events, except those that require explicit selection. Separate multiple event types with a comma. + #[serde(rename = "eventTypes")] + pub event_types: models::WebhookEventTypes, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl CreateWebhookRequest { + pub fn new(name: String, url: String, event_types: models::WebhookEventTypes) -> CreateWebhookRequest { + CreateWebhookRequest { + name, + url, + event_types, + testmode: None, + } + } +} + diff --git a/src/models/currencies.rs b/src/models/currencies.rs new file mode 100644 index 0000000..11f3df2 --- /dev/null +++ b/src/models/currencies.rs @@ -0,0 +1,68 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Currencies { + #[serde(rename = "EUR")] + Eur, + #[serde(rename = "GBP")] + Gbp, + #[serde(rename = "CHF")] + Chf, + #[serde(rename = "DKK")] + Dkk, + #[serde(rename = "NOK")] + Nok, + #[serde(rename = "PLN")] + Pln, + #[serde(rename = "SEK")] + Sek, + #[serde(rename = "USD")] + Usd, + #[serde(rename = "CZK")] + Czk, + #[serde(rename = "HUF")] + Huf, + #[serde(rename = "AUD")] + Aud, + #[serde(rename = "CAD")] + Cad, + +} + +impl std::fmt::Display for Currencies { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Eur => write!(f, "EUR"), + Self::Gbp => write!(f, "GBP"), + Self::Chf => write!(f, "CHF"), + Self::Dkk => write!(f, "DKK"), + Self::Nok => write!(f, "NOK"), + Self::Pln => write!(f, "PLN"), + Self::Sek => write!(f, "SEK"), + Self::Usd => write!(f, "USD"), + Self::Czk => write!(f, "CZK"), + Self::Huf => write!(f, "HUF"), + Self::Aud => write!(f, "AUD"), + Self::Cad => write!(f, "CAD"), + } + } +} + +impl Default for Currencies { + fn default() -> Currencies { + Self::Eur + } +} + diff --git a/src/models/customer_response.rs b/src/models/customer_response.rs new file mode 100644 index 0000000..702ad3a --- /dev/null +++ b/src/models/customer_response.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct CustomerResponse { + /// Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The full name of the customer. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The email address of the customer. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl CustomerResponse { + pub fn new() -> CustomerResponse { + CustomerResponse { + resource: None, + id: None, + mode: None, + name: None, + email: None, + locale: None, + metadata: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/delete_values_sales_invoice.rs b/src/models/delete_values_sales_invoice.rs new file mode 100644 index 0000000..f208c4f --- /dev/null +++ b/src/models/delete_values_sales_invoice.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DeleteValuesSalesInvoice { + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl DeleteValuesSalesInvoice { + pub fn new() -> DeleteValuesSalesInvoice { + DeleteValuesSalesInvoice { + testmode: None, + } + } +} + diff --git a/src/models/delete_webhook_request.rs b/src/models/delete_webhook_request.rs new file mode 100644 index 0000000..f791960 --- /dev/null +++ b/src/models/delete_webhook_request.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct DeleteWebhookRequest { + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl DeleteWebhookRequest { + pub fn new() -> DeleteWebhookRequest { + DeleteWebhookRequest { + testmode: None, + } + } +} + diff --git a/src/models/enable_method_issuer_200_response.rs b/src/models/enable_method_issuer_200_response.rs new file mode 100644 index 0000000..8dab494 --- /dev/null +++ b/src/models/enable_method_issuer_200_response.rs @@ -0,0 +1,26 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EnableMethodIssuer200Response { + Giftcard(Box), + Voucher(Box), +} + +impl Default for EnableMethodIssuer200Response { + fn default() -> Self { + Self::Giftcard(Default::default()) + } +} + diff --git a/src/models/enable_method_issuer_request.rs b/src/models/enable_method_issuer_request.rs new file mode 100644 index 0000000..fc7c4d4 --- /dev/null +++ b/src/models/enable_method_issuer_request.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EnableMethodIssuerRequest { + /// When enabling a voucher issuer, an inbetween party may be involved which you have a contract with. Provide the contract ID for the first time you enable an issuer via this contractor. You can update the contract ID as long as it is not approved yet, by repeating the API call with a different contract ID. + #[serde(rename = "contractId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub contract_id: Option>, +} + +impl EnableMethodIssuerRequest { + pub fn new() -> EnableMethodIssuerRequest { + EnableMethodIssuerRequest { + contract_id: None, + } + } +} + diff --git a/src/models/entity_balance.rs b/src/models/entity_balance.rs new file mode 100644 index 0000000..ad370d3 --- /dev/null +++ b/src/models/entity_balance.rs @@ -0,0 +1,74 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalance { + /// Indicates the response contains a balance object. Will always contain the string `balance` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The balance's ISO 4217 currency code. + #[serde(rename = "currency", skip_serializing_if = "Option::is_none")] + pub currency: Option, + /// The description or name of the balance. Can be used to denote the purpose of the balance. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "transferFrequency", skip_serializing_if = "Option::is_none")] + pub transfer_frequency: Option, + /// The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds this threshold, the complete balance will be paid out to the transfer destination according to the configured frequency. + #[serde(rename = "transferThreshold", skip_serializing_if = "Option::is_none")] + pub transfer_threshold: Option>, + /// The transfer reference set to be included in all the transfers for this balance. + #[serde(rename = "transferReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub transfer_reference: Option>, + #[serde(rename = "transferDestination", skip_serializing_if = "Option::is_none")] + pub transfer_destination: Option>, + /// The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`. + #[serde(rename = "availableAmount", skip_serializing_if = "Option::is_none")] + pub available_amount: Option>, + /// The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a few days to clear. + #[serde(rename = "pendingAmount", skip_serializing_if = "Option::is_none")] + pub pending_amount: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityBalance { + pub fn new() -> EntityBalance { + EntityBalance { + resource: None, + id: None, + mode: None, + created_at: None, + currency: None, + description: None, + status: None, + transfer_frequency: None, + transfer_threshold: None, + transfer_reference: None, + transfer_destination: None, + available_amount: None, + pending_amount: None, + _links: None, + } + } +} + diff --git a/src/models/entity_balance__links.rs b/src/models/entity_balance__links.rs new file mode 100644 index 0000000..fd94d64 --- /dev/null +++ b/src/models/entity_balance__links.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityBalanceLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityBalanceLinks { + EntityBalanceLinks { + param_self: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_balance_report.rs b/src/models/entity_balance_report.rs new file mode 100644 index 0000000..a16c406 --- /dev/null +++ b/src/models/entity_balance_report.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReport { + /// Indicates the response contains a balance report object. Will always contain the string `balance-report` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "balanceId", skip_serializing_if = "Option::is_none")] + pub balance_id: Option, + /// The time zone used for the from and until parameters. Currently only time zone `Europe/Amsterdam` is supported. + #[serde(rename = "timeZone", skip_serializing_if = "Option::is_none")] + pub time_zone: Option, + /// The start date of the report, in `YYYY-MM-DD` format. The from date is 'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will include movements of 2024-01-01 00:00:00 CET and onwards. + #[serde(rename = "from", skip_serializing_if = "Option::is_none")] + pub from: Option, + /// The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time. This means a report with for example `until=2024-02-01` will include movements up until 2024-01-31 23:59:59 CET. + #[serde(rename = "until", skip_serializing_if = "Option::is_none")] + pub until: Option, + #[serde(rename = "grouping", skip_serializing_if = "Option::is_none")] + pub grouping: Option, + #[serde(rename = "totals", skip_serializing_if = "Option::is_none")] + pub totals: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityBalanceReport { + pub fn new() -> EntityBalanceReport { + EntityBalanceReport { + resource: None, + balance_id: None, + time_zone: None, + from: None, + until: None, + grouping: None, + totals: None, + _links: None, + } + } +} + diff --git a/src/models/entity_balance_report_totals.rs b/src/models/entity_balance_report_totals.rs new file mode 100644 index 0000000..4487a1e --- /dev/null +++ b/src/models/entity_balance_report_totals.rs @@ -0,0 +1,62 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceReportTotals : Totals are grouped according to the chosen grouping rule. The example response should give a good idea of what a typical grouping looks like. If grouping `status-balances` is chosen, the main grouping is as follows: * `pendingBalance` containing an `open`, `pending`, `movedToAvailable`, and `close` sub-group * `availableBalance` containing an `open`, `movedFromPending`, `immediatelyAvailable`, and `close` sub-group If grouping `transaction-categories` is chosen, the main grouping is as follows: * `open` and `close` groups, each containing a `pending` and `available` sub-group * Transaction type groups such as `payments`, `refunds`, `chargebacks`, `capital`, `transfers`, `fee-prepayments`, `corrections`, `topups` each containing a `pending`, `movedToAvailable`, and `immediatelyAvailable` sub-group Each sub-group typically has: * An `amount` object containing the group's total amount * A `count` integer if relevant (for example, counting the number of refunds) * A `subtotals` array containing more sub-group objects if applicable +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReportTotals { + #[serde(rename = "pendingBalance", skip_serializing_if = "Option::is_none")] + pub pending_balance: Option>, + #[serde(rename = "availableBalance", skip_serializing_if = "Option::is_none")] + pub available_balance: Option>, + #[serde(rename = "open", skip_serializing_if = "Option::is_none")] + pub open: Option>, + #[serde(rename = "close", skip_serializing_if = "Option::is_none")] + pub close: Option>, + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, + #[serde(rename = "refunds", skip_serializing_if = "Option::is_none")] + pub refunds: Option>, + #[serde(rename = "chargebacks", skip_serializing_if = "Option::is_none")] + pub chargebacks: Option>, + #[serde(rename = "capital", skip_serializing_if = "Option::is_none")] + pub capital: Option>, + #[serde(rename = "transfers", skip_serializing_if = "Option::is_none")] + pub transfers: Option>, + #[serde(rename = "fee-prepayments", skip_serializing_if = "Option::is_none")] + pub fee_prepayments: Option>, + #[serde(rename = "corrections", skip_serializing_if = "Option::is_none")] + pub corrections: Option>, + #[serde(rename = "topups", skip_serializing_if = "Option::is_none")] + pub topups: Option>, +} + +impl EntityBalanceReportTotals { + /// Totals are grouped according to the chosen grouping rule. The example response should give a good idea of what a typical grouping looks like. If grouping `status-balances` is chosen, the main grouping is as follows: * `pendingBalance` containing an `open`, `pending`, `movedToAvailable`, and `close` sub-group * `availableBalance` containing an `open`, `movedFromPending`, `immediatelyAvailable`, and `close` sub-group If grouping `transaction-categories` is chosen, the main grouping is as follows: * `open` and `close` groups, each containing a `pending` and `available` sub-group * Transaction type groups such as `payments`, `refunds`, `chargebacks`, `capital`, `transfers`, `fee-prepayments`, `corrections`, `topups` each containing a `pending`, `movedToAvailable`, and `immediatelyAvailable` sub-group Each sub-group typically has: * An `amount` object containing the group's total amount * A `count` integer if relevant (for example, counting the number of refunds) * A `subtotals` array containing more sub-group objects if applicable + pub fn new() -> EntityBalanceReportTotals { + EntityBalanceReportTotals { + pending_balance: None, + available_balance: None, + open: None, + close: None, + payments: None, + refunds: None, + chargebacks: None, + capital: None, + transfers: None, + fee_prepayments: None, + corrections: None, + topups: None, + } + } +} + diff --git a/src/models/entity_balance_report_totals_available_balance.rs b/src/models/entity_balance_report_totals_available_balance.rs new file mode 100644 index 0000000..3692e69 --- /dev/null +++ b/src/models/entity_balance_report_totals_available_balance.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceReportTotalsAvailableBalance : The available balance. Only available if grouping is `status-balances`. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReportTotalsAvailableBalance { + #[serde(rename = "open", skip_serializing_if = "Option::is_none")] + pub open: Option>, + #[serde(rename = "movedFromPending", skip_serializing_if = "Option::is_none")] + pub moved_from_pending: Option>, + #[serde(rename = "immediatelyAvailable", skip_serializing_if = "Option::is_none")] + pub immediately_available: Option>, + #[serde(rename = "close", skip_serializing_if = "Option::is_none")] + pub close: Option>, +} + +impl EntityBalanceReportTotalsAvailableBalance { + /// The available balance. Only available if grouping is `status-balances`. + pub fn new() -> EntityBalanceReportTotalsAvailableBalance { + EntityBalanceReportTotalsAvailableBalance { + open: None, + moved_from_pending: None, + immediately_available: None, + close: None, + } + } +} + diff --git a/src/models/entity_balance_report_totals_open.rs b/src/models/entity_balance_report_totals_open.rs new file mode 100644 index 0000000..6f0461f --- /dev/null +++ b/src/models/entity_balance_report_totals_open.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceReportTotalsOpen : Only available on `transaction-categories` grouping. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReportTotalsOpen { + #[serde(rename = "pending", skip_serializing_if = "Option::is_none")] + pub pending: Option>, + #[serde(rename = "available", skip_serializing_if = "Option::is_none")] + pub available: Option>, +} + +impl EntityBalanceReportTotalsOpen { + /// Only available on `transaction-categories` grouping. + pub fn new() -> EntityBalanceReportTotalsOpen { + EntityBalanceReportTotalsOpen { + pending: None, + available: None, + } + } +} + diff --git a/src/models/entity_balance_report_totals_payments.rs b/src/models/entity_balance_report_totals_payments.rs new file mode 100644 index 0000000..d1b6e44 --- /dev/null +++ b/src/models/entity_balance_report_totals_payments.rs @@ -0,0 +1,35 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceReportTotalsPayments : Only available on `transaction-categories` grouping. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReportTotalsPayments { + #[serde(rename = "pending", skip_serializing_if = "Option::is_none")] + pub pending: Option>, + #[serde(rename = "movedToAvailable", skip_serializing_if = "Option::is_none")] + pub moved_to_available: Option>, + #[serde(rename = "immediatelyAvailable", skip_serializing_if = "Option::is_none")] + pub immediately_available: Option>, +} + +impl EntityBalanceReportTotalsPayments { + /// Only available on `transaction-categories` grouping. + pub fn new() -> EntityBalanceReportTotalsPayments { + EntityBalanceReportTotalsPayments { + pending: None, + moved_to_available: None, + immediately_available: None, + } + } +} + diff --git a/src/models/entity_balance_report_totals_pending_balance.rs b/src/models/entity_balance_report_totals_pending_balance.rs new file mode 100644 index 0000000..f66632a --- /dev/null +++ b/src/models/entity_balance_report_totals_pending_balance.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceReportTotalsPendingBalance : The pending balance. Only available if grouping is `status-balances`. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceReportTotalsPendingBalance { + #[serde(rename = "open", skip_serializing_if = "Option::is_none")] + pub open: Option>, + #[serde(rename = "close", skip_serializing_if = "Option::is_none")] + pub close: Option>, + #[serde(rename = "pending", skip_serializing_if = "Option::is_none")] + pub pending: Option>, + #[serde(rename = "movedToAvailable", skip_serializing_if = "Option::is_none")] + pub moved_to_available: Option>, +} + +impl EntityBalanceReportTotalsPendingBalance { + /// The pending balance. Only available if grouping is `status-balances`. + pub fn new() -> EntityBalanceReportTotalsPendingBalance { + EntityBalanceReportTotalsPendingBalance { + open: None, + close: None, + pending: None, + moved_to_available: None, + } + } +} + diff --git a/src/models/entity_balance_transaction.rs b/src/models/entity_balance_transaction.rs new file mode 100644 index 0000000..5aebd23 --- /dev/null +++ b/src/models/entity_balance_transaction.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransaction { + /// Indicates the response contains a balance transaction object. Will always contain the string `balance-transaction` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// The type of transaction, for example `payment` or `refund`. Values include the below examples, although this list is not definitive. * Regular payment processing: `payment` `capture` `unauthorized-direct-debit` `failed-payment` * Refunds and chargebacks: `refund` `returned-refund` `chargeback` `chargeback-reversal` * Settlements: `outgoing-transfer` `canceled-outgoing-transfer` `returned-transfer` * Invoicing: `invoice-compensation` `balance-correction` * Mollie Connect: `application-fee` `split-payment` `platform-payment-refund` `platform-payment-chargeback` + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// The final amount that was moved to or from the balance. If the transaction moves funds away from the balance, for example when it concerns a refund, the amount will be negative. + #[serde(rename = "resultAmount", skip_serializing_if = "Option::is_none")] + pub result_amount: Option>, + /// The amount that was to be moved to or from the balance, excluding deductions. If the transaction moves funds away from the balance, for example when it concerns a refund, the amount will be negative. + #[serde(rename = "initialAmount", skip_serializing_if = "Option::is_none")] + pub initial_amount: Option>, + /// The total amount of deductions withheld from the movement. For example, if we charge a €0.29 fee on a €10 payment, the deductions amount will be `{\"currency\":\"EUR\", \"value\":\"-0.29\"}`. When moving funds to a balance, we always round the deduction to a 'real' amount. Any differences between these real-time rounded amounts and the final invoice will be compensated when the invoice is generated. + #[serde(rename = "deductions", skip_serializing_if = "Option::is_none")] + pub deductions: Option>, + #[serde(rename = "context", skip_serializing_if = "Option::is_none")] + pub context: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, +} + +impl EntityBalanceTransaction { + pub fn new() -> EntityBalanceTransaction { + EntityBalanceTransaction { + resource: None, + id: None, + r#type: None, + result_amount: None, + initial_amount: None, + deductions: None, + context: None, + created_at: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context.rs b/src/models/entity_balance_transaction_context.rs new file mode 100644 index 0000000..5b5df51 --- /dev/null +++ b/src/models/entity_balance_transaction_context.rs @@ -0,0 +1,119 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransactionContext : Depending on the type of the balance transaction, we will try to give more context about the specific event that triggered it. For example, the context object for a payment transaction will look like `{\"paymentId\": \"tr_5B8cwPMGnU6qLbRvo7qEZo\", \"paymentDescription\": \"Description\"}`. Below is a complete list of the context values that each type of transaction will have. * Type `payment`: `paymentId`, `paymentDescription` * Type `capture`: `paymentId` `captureId`, `paymentDescription`, `captureDescription` * Type `capture-commission`: `paymentId`, `paymentDescription`, `organizationId` * Type `capture-rolling-reserve-release`: `paymentId`, `paymentDescription`, `captureId`, `captureDescription` * Type `unauthorized-direct-debit`: `paymentId`, `paymentDescription` * Type `failed-payment`: `paymentId`, `paymentDescription` * Type `refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `chargeback-reversal`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `reversed-chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `outgoing-transfer`: `settlementId` `transferId` * Type `canceled-outgoing-transfer`: `settlementId` `transferId` * Type `returned-transfer`: `settlementId` `transferId` * Type `invoice-compensation`: `invoiceId` * Type `balance-correction`: none * Type `application-fee`: `paymentId`, `paymentDescription`, `payingOwner` * Type `split-payment`: `paymentId`, `paymentDescription`, `paymentOwner` * Type `platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `reversed-platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `payment-commission`: `paymentId`, `paymentDescription`, `organizationId` * Type `reimbursement-fee`: `paymentId`, `paymentDescription` * Type `failed-payment-fee`: `paymentId`, `paymentDescription` * Type `payment-fee`: `paymentId`, `paymentDescription` * Type `cash-advance-loan`: none * Type `platform-connected-organizations-fee`: none * Type `managed-fee`: `feeType`, `Id` * Type `returned-managed-fee`: `feeType`, `Id` * Type `topup`: none * Type `balance-reserve`: none * Type `balance-reserve-return`: none * Type `movement`: none * Type `post-payment-split-payment`: `paymentId` * Type `cash-collateral-issuance`: none * Type `cash-collateral-release`: none +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContext { + #[serde(rename = "payment", skip_serializing_if = "Option::is_none")] + pub payment: Option>, + #[serde(rename = "capture", skip_serializing_if = "Option::is_none")] + pub capture: Option>, + #[serde(rename = "capture-commision", skip_serializing_if = "Option::is_none")] + pub capture_commision: Option>, + #[serde(rename = "capture-rolling-reserve-release", skip_serializing_if = "Option::is_none")] + pub capture_rolling_reserve_release: Option>, + #[serde(rename = "unauthorized-direct-debit", skip_serializing_if = "Option::is_none")] + pub unauthorized_direct_debit: Option>, + #[serde(rename = "failed-payment", skip_serializing_if = "Option::is_none")] + pub failed_payment: Option>, + #[serde(rename = "refund", skip_serializing_if = "Option::is_none")] + pub refund: Option>, + #[serde(rename = "refund-compensation", skip_serializing_if = "Option::is_none")] + pub refund_compensation: Option>, + #[serde(rename = "returned-refund", skip_serializing_if = "Option::is_none")] + pub returned_refund: Option>, + #[serde(rename = "returned-refund-compensation", skip_serializing_if = "Option::is_none")] + pub returned_refund_compensation: Option>, + #[serde(rename = "chargeback", skip_serializing_if = "Option::is_none")] + pub chargeback: Option>, + #[serde(rename = "chargeback-reversal", skip_serializing_if = "Option::is_none")] + pub chargeback_reversal: Option>, + #[serde(rename = "chargeback-compensation", skip_serializing_if = "Option::is_none")] + pub chargeback_compensation: Option>, + #[serde(rename = "reversed-chargeback-compensation", skip_serializing_if = "Option::is_none")] + pub reversed_chargeback_compensation: Option>, + #[serde(rename = "outgoing-transfer", skip_serializing_if = "Option::is_none")] + pub outgoing_transfer: Option>, + #[serde(rename = "canceled-outgoing-transfer", skip_serializing_if = "Option::is_none")] + pub canceled_outgoing_transfer: Option>, + #[serde(rename = "returned-transfer", skip_serializing_if = "Option::is_none")] + pub returned_transfer: Option>, + #[serde(rename = "invoice-compensation", skip_serializing_if = "Option::is_none")] + pub invoice_compensation: Option>, + #[serde(rename = "application-fee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + #[serde(rename = "split-payment", skip_serializing_if = "Option::is_none")] + pub split_payment: Option>, + #[serde(rename = "platform-payment-refund", skip_serializing_if = "Option::is_none")] + pub platform_payment_refund: Option>, + #[serde(rename = "returned-platform-payment-refund", skip_serializing_if = "Option::is_none")] + pub returned_platform_payment_refund: Option>, + #[serde(rename = "platform-payment-chargeback", skip_serializing_if = "Option::is_none")] + pub platform_payment_chargeback: Option>, + #[serde(rename = "reversed-platform-payment-chargeback", skip_serializing_if = "Option::is_none")] + pub reversed_platform_payment_chargeback: Option>, + #[serde(rename = "payment-commission", skip_serializing_if = "Option::is_none")] + pub payment_commission: Option>, + #[serde(rename = "reimbursement-fee", skip_serializing_if = "Option::is_none")] + pub reimbursement_fee: Option>, + #[serde(rename = "failed-payment-fee", skip_serializing_if = "Option::is_none")] + pub failed_payment_fee: Option>, + #[serde(rename = "payment-fee", skip_serializing_if = "Option::is_none")] + pub payment_fee: Option>, + #[serde(rename = "managed-fee", skip_serializing_if = "Option::is_none")] + pub managed_fee: Option>, + #[serde(rename = "returned-managed-fee", skip_serializing_if = "Option::is_none")] + pub returned_managed_fee: Option>, + #[serde(rename = "post-payment-split-payment", skip_serializing_if = "Option::is_none")] + pub post_payment_split_payment: Option>, +} + +impl EntityBalanceTransactionContext { + /// Depending on the type of the balance transaction, we will try to give more context about the specific event that triggered it. For example, the context object for a payment transaction will look like `{\"paymentId\": \"tr_5B8cwPMGnU6qLbRvo7qEZo\", \"paymentDescription\": \"Description\"}`. Below is a complete list of the context values that each type of transaction will have. * Type `payment`: `paymentId`, `paymentDescription` * Type `capture`: `paymentId` `captureId`, `paymentDescription`, `captureDescription` * Type `capture-commission`: `paymentId`, `paymentDescription`, `organizationId` * Type `capture-rolling-reserve-release`: `paymentId`, `paymentDescription`, `captureId`, `captureDescription` * Type `unauthorized-direct-debit`: `paymentId`, `paymentDescription` * Type `failed-payment`: `paymentId`, `paymentDescription` * Type `refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-refund-compensation`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `chargeback-reversal`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `reversed-chargeback-compensation`: `paymentId`, `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `outgoing-transfer`: `settlementId` `transferId` * Type `canceled-outgoing-transfer`: `settlementId` `transferId` * Type `returned-transfer`: `settlementId` `transferId` * Type `invoice-compensation`: `invoiceId` * Type `balance-correction`: none * Type `application-fee`: `paymentId`, `paymentDescription`, `payingOwner` * Type `split-payment`: `paymentId`, `paymentDescription`, `paymentOwner` * Type `platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `returned-platform-payment-refund`: `paymentId` `refundId`, `paymentDescription`, `refundDescription` * Type `platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `reversed-platform-payment-chargeback`: `paymentId` `chargebackId`, `paymentDescription`, `chargebackDescription` * Type `payment-commission`: `paymentId`, `paymentDescription`, `organizationId` * Type `reimbursement-fee`: `paymentId`, `paymentDescription` * Type `failed-payment-fee`: `paymentId`, `paymentDescription` * Type `payment-fee`: `paymentId`, `paymentDescription` * Type `cash-advance-loan`: none * Type `platform-connected-organizations-fee`: none * Type `managed-fee`: `feeType`, `Id` * Type `returned-managed-fee`: `feeType`, `Id` * Type `topup`: none * Type `balance-reserve`: none * Type `balance-reserve-return`: none * Type `movement`: none * Type `post-payment-split-payment`: `paymentId` * Type `cash-collateral-issuance`: none * Type `cash-collateral-release`: none + pub fn new() -> EntityBalanceTransactionContext { + EntityBalanceTransactionContext { + payment: None, + capture: None, + capture_commision: None, + capture_rolling_reserve_release: None, + unauthorized_direct_debit: None, + failed_payment: None, + refund: None, + refund_compensation: None, + returned_refund: None, + returned_refund_compensation: None, + chargeback: None, + chargeback_reversal: None, + chargeback_compensation: None, + reversed_chargeback_compensation: None, + outgoing_transfer: None, + canceled_outgoing_transfer: None, + returned_transfer: None, + invoice_compensation: None, + application_fee: None, + split_payment: None, + platform_payment_refund: None, + returned_platform_payment_refund: None, + platform_payment_chargeback: None, + reversed_platform_payment_chargeback: None, + payment_commission: None, + reimbursement_fee: None, + failed_payment_fee: None, + payment_fee: None, + managed_fee: None, + returned_managed_fee: None, + post_payment_split_payment: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_application_fee.rs b/src/models/entity_balance_transaction_context_application_fee.rs new file mode 100644 index 0000000..a437cc0 --- /dev/null +++ b/src/models/entity_balance_transaction_context_application_fee.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextApplicationFee { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "payingOwner", skip_serializing_if = "Option::is_none")] + pub paying_owner: Option, +} + +impl EntityBalanceTransactionContextApplicationFee { + pub fn new() -> EntityBalanceTransactionContextApplicationFee { + EntityBalanceTransactionContextApplicationFee { + payment_id: None, + payment_description: None, + paying_owner: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_capture.rs b/src/models/entity_balance_transaction_context_capture.rs new file mode 100644 index 0000000..91dd4be --- /dev/null +++ b/src/models/entity_balance_transaction_context_capture.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextCapture { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "captureId", skip_serializing_if = "Option::is_none")] + pub capture_id: Option, + #[serde(rename = "captureDescription", skip_serializing_if = "Option::is_none")] + pub capture_description: Option, +} + +impl EntityBalanceTransactionContextCapture { + pub fn new() -> EntityBalanceTransactionContextCapture { + EntityBalanceTransactionContextCapture { + payment_id: None, + payment_description: None, + capture_id: None, + capture_description: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_chargeback.rs b/src/models/entity_balance_transaction_context_chargeback.rs new file mode 100644 index 0000000..f4a17d1 --- /dev/null +++ b/src/models/entity_balance_transaction_context_chargeback.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextChargeback { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "chargebackId", skip_serializing_if = "Option::is_none")] + pub chargeback_id: Option, + #[serde(rename = "chargebackDescription", skip_serializing_if = "Option::is_none")] + pub chargeback_description: Option, +} + +impl EntityBalanceTransactionContextChargeback { + pub fn new() -> EntityBalanceTransactionContextChargeback { + EntityBalanceTransactionContextChargeback { + payment_id: None, + payment_description: None, + chargeback_id: None, + chargeback_description: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_invoice_compensation.rs b/src/models/entity_balance_transaction_context_invoice_compensation.rs new file mode 100644 index 0000000..afc45f4 --- /dev/null +++ b/src/models/entity_balance_transaction_context_invoice_compensation.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextInvoiceCompensation { + #[serde(rename = "invoiceId", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, +} + +impl EntityBalanceTransactionContextInvoiceCompensation { + pub fn new() -> EntityBalanceTransactionContextInvoiceCompensation { + EntityBalanceTransactionContextInvoiceCompensation { + invoice_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_managed_fee.rs b/src/models/entity_balance_transaction_context_managed_fee.rs new file mode 100644 index 0000000..07d0162 --- /dev/null +++ b/src/models/entity_balance_transaction_context_managed_fee.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextManagedFee { + #[serde(rename = "feeType", skip_serializing_if = "Option::is_none")] + pub fee_type: Option, + #[serde(rename = "feeId", skip_serializing_if = "Option::is_none")] + pub fee_id: Option, +} + +impl EntityBalanceTransactionContextManagedFee { + pub fn new() -> EntityBalanceTransactionContextManagedFee { + EntityBalanceTransactionContextManagedFee { + fee_type: None, + fee_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_outgoing_transfer.rs b/src/models/entity_balance_transaction_context_outgoing_transfer.rs new file mode 100644 index 0000000..ae8724a --- /dev/null +++ b/src/models/entity_balance_transaction_context_outgoing_transfer.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextOutgoingTransfer { + #[serde(rename = "transferId", skip_serializing_if = "Option::is_none")] + pub transfer_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, +} + +impl EntityBalanceTransactionContextOutgoingTransfer { + pub fn new() -> EntityBalanceTransactionContextOutgoingTransfer { + EntityBalanceTransactionContextOutgoingTransfer { + transfer_id: None, + settlement_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_payment.rs b/src/models/entity_balance_transaction_context_payment.rs new file mode 100644 index 0000000..b01a68b --- /dev/null +++ b/src/models/entity_balance_transaction_context_payment.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextPayment { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, +} + +impl EntityBalanceTransactionContextPayment { + pub fn new() -> EntityBalanceTransactionContextPayment { + EntityBalanceTransactionContextPayment { + payment_id: None, + payment_description: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_payment_commission.rs b/src/models/entity_balance_transaction_context_payment_commission.rs new file mode 100644 index 0000000..97acebb --- /dev/null +++ b/src/models/entity_balance_transaction_context_payment_commission.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextPaymentCommission { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "organizationId", skip_serializing_if = "Option::is_none")] + pub organization_id: Option, +} + +impl EntityBalanceTransactionContextPaymentCommission { + pub fn new() -> EntityBalanceTransactionContextPaymentCommission { + EntityBalanceTransactionContextPaymentCommission { + payment_id: None, + payment_description: None, + organization_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_post_payment_split_payment.rs b/src/models/entity_balance_transaction_context_post_payment_split_payment.rs new file mode 100644 index 0000000..d4bcef6 --- /dev/null +++ b/src/models/entity_balance_transaction_context_post_payment_split_payment.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextPostPaymentSplitPayment { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, +} + +impl EntityBalanceTransactionContextPostPaymentSplitPayment { + pub fn new() -> EntityBalanceTransactionContextPostPaymentSplitPayment { + EntityBalanceTransactionContextPostPaymentSplitPayment { + payment_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_refund.rs b/src/models/entity_balance_transaction_context_refund.rs new file mode 100644 index 0000000..eb66a71 --- /dev/null +++ b/src/models/entity_balance_transaction_context_refund.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextRefund { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "refundId", skip_serializing_if = "Option::is_none")] + pub refund_id: Option, + #[serde(rename = "refundDescription", skip_serializing_if = "Option::is_none")] + pub refund_description: Option, +} + +impl EntityBalanceTransactionContextRefund { + pub fn new() -> EntityBalanceTransactionContextRefund { + EntityBalanceTransactionContextRefund { + payment_id: None, + payment_description: None, + refund_id: None, + refund_description: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_returned_transfer.rs b/src/models/entity_balance_transaction_context_returned_transfer.rs new file mode 100644 index 0000000..c90b3a1 --- /dev/null +++ b/src/models/entity_balance_transaction_context_returned_transfer.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextReturnedTransfer { + #[serde(rename = "transferId", skip_serializing_if = "Option::is_none")] + pub transfer_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, +} + +impl EntityBalanceTransactionContextReturnedTransfer { + pub fn new() -> EntityBalanceTransactionContextReturnedTransfer { + EntityBalanceTransactionContextReturnedTransfer { + transfer_id: None, + settlement_id: None, + } + } +} + diff --git a/src/models/entity_balance_transaction_context_split_payment.rs b/src/models/entity_balance_transaction_context_split_payment.rs new file mode 100644 index 0000000..37aa719 --- /dev/null +++ b/src/models/entity_balance_transaction_context_split_payment.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransactionContextSplitPayment { + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "paymentDescription", skip_serializing_if = "Option::is_none")] + pub payment_description: Option, + #[serde(rename = "paymentOnwer", skip_serializing_if = "Option::is_none")] + pub payment_onwer: Option, +} + +impl EntityBalanceTransactionContextSplitPayment { + pub fn new() -> EntityBalanceTransactionContextSplitPayment { + EntityBalanceTransactionContextSplitPayment { + payment_id: None, + payment_description: None, + payment_onwer: None, + } + } +} + diff --git a/src/models/entity_balance_transfer.rs b/src/models/entity_balance_transfer.rs new file mode 100644 index 0000000..2ac7f29 --- /dev/null +++ b/src/models/entity_balance_transfer.rs @@ -0,0 +1,69 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransfer { + /// Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + /// The amount to be transferred, e.g. `{\"currency\":\"EUR\", \"value\":\"1000.00\"}` if you would like to transfer €1000.00. + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "source")] + pub source: Box, + #[serde(rename = "destination")] + pub destination: Box, + /// The transfer description for initiating party. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "status")] + pub status: models::BalanceTransferStatus, + #[serde(rename = "statusReason")] + pub status_reason: Box, + #[serde(rename = "category", skip_serializing_if = "Option::is_none")] + pub category: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is not executed (yet). + #[serde(rename = "executedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub executed_at: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "mode")] + pub mode: models::Mode, +} + +impl EntityBalanceTransfer { + pub fn new(resource: String, id: String, amount: models::Amount, source: models::EntityBalanceTransferParty, destination: models::EntityBalanceTransferParty, description: String, status: models::BalanceTransferStatus, status_reason: models::EntityBalanceTransferStatusReason, created_at: String, mode: models::Mode) -> EntityBalanceTransfer { + EntityBalanceTransfer { + resource, + id, + amount: Box::new(amount), + source: Box::new(source), + destination: Box::new(destination), + description, + status, + status_reason: Box::new(status_reason), + category: None, + created_at, + executed_at: None, + testmode: None, + mode, + } + } +} + diff --git a/src/models/entity_balance_transfer_destination.rs b/src/models/entity_balance_transfer_destination.rs new file mode 100644 index 0000000..a0d6ead --- /dev/null +++ b/src/models/entity_balance_transfer_destination.rs @@ -0,0 +1,37 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransferDestination : The destination where the available amount will be automatically transferred to according to the configured transfer frequency. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferDestination { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// The configured bank account number of the beneficiary the balance amount is to be transferred to. + #[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")] + pub bank_account: Option, + /// The full name of the beneficiary the balance amount is to be transferred to. + #[serde(rename = "beneficiaryName", skip_serializing_if = "Option::is_none")] + pub beneficiary_name: Option, +} + +impl EntityBalanceTransferDestination { + /// The destination where the available amount will be automatically transferred to according to the configured transfer frequency. + pub fn new() -> EntityBalanceTransferDestination { + EntityBalanceTransferDestination { + r#type: None, + bank_account: None, + beneficiary_name: None, + } + } +} + diff --git a/src/models/entity_balance_transfer_party.rs b/src/models/entity_balance_transfer_party.rs new file mode 100644 index 0000000..c28d9ff --- /dev/null +++ b/src/models/entity_balance_transfer_party.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransferParty : A party involved in the balance transfer, either the sender or the receiver. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferParty { + #[serde(rename = "type")] + pub r#type: models::BalanceTransferPartyType, + #[serde(rename = "id")] + pub id: String, + /// The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. + #[serde(rename = "description")] + pub description: String, +} + +impl EntityBalanceTransferParty { + /// A party involved in the balance transfer, either the sender or the receiver. + pub fn new(r#type: models::BalanceTransferPartyType, id: String, description: String) -> EntityBalanceTransferParty { + EntityBalanceTransferParty { + r#type, + id, + description, + } + } +} + diff --git a/src/models/entity_balance_transfer_party_response.rs b/src/models/entity_balance_transfer_party_response.rs new file mode 100644 index 0000000..12653af --- /dev/null +++ b/src/models/entity_balance_transfer_party_response.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransferPartyResponse : A party involved in the balance transfer, either the sender or the receiver. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferPartyResponse { + #[serde(rename = "type")] + pub r#type: models::BalanceTransferPartyTypeResponse, + #[serde(rename = "id")] + pub id: String, + /// The transfer description for the transfer party. This is the description that will appear in the financial reports of the party. + #[serde(rename = "description")] + pub description: String, +} + +impl EntityBalanceTransferPartyResponse { + /// A party involved in the balance transfer, either the sender or the receiver. + pub fn new(r#type: models::BalanceTransferPartyTypeResponse, id: String, description: String) -> EntityBalanceTransferPartyResponse { + EntityBalanceTransferPartyResponse { + r#type, + id, + description, + } + } +} + diff --git a/src/models/entity_balance_transfer_response.rs b/src/models/entity_balance_transfer_response.rs new file mode 100644 index 0000000..777667e --- /dev/null +++ b/src/models/entity_balance_transfer_response.rs @@ -0,0 +1,69 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferResponse { + /// Indicates the response contains a balance transfer object. Will always contain the string `connect-balance-transfer` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + /// The amount to be transferred, e.g. `{\"currency\":\"EUR\", \"value\":\"1000.00\"}` if you would like to transfer €1000.00. + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "source")] + pub source: Box, + #[serde(rename = "destination")] + pub destination: Box, + /// The transfer description for initiating party. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "status")] + pub status: models::BalanceTransferStatus, + #[serde(rename = "statusReason")] + pub status_reason: Box, + #[serde(rename = "category", skip_serializing_if = "Option::is_none")] + pub category: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The date and time when the transfer was completed, in ISO 8601 format. This parameter is omitted if the transfer is not executed (yet). + #[serde(rename = "executedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub executed_at: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "mode")] + pub mode: models::Mode, +} + +impl EntityBalanceTransferResponse { + pub fn new(resource: String, id: String, amount: models::Amount, source: models::EntityBalanceTransferPartyResponse, destination: models::EntityBalanceTransferPartyResponse, description: String, status: models::BalanceTransferStatus, status_reason: models::EntityBalanceTransferResponseStatusReason, created_at: String, mode: models::Mode) -> EntityBalanceTransferResponse { + EntityBalanceTransferResponse { + resource, + id, + amount: Box::new(amount), + source: Box::new(source), + destination: Box::new(destination), + description, + status, + status_reason: Box::new(status_reason), + category: None, + created_at, + executed_at: None, + testmode: None, + mode, + } + } +} + diff --git a/src/models/entity_balance_transfer_response_status_reason.rs b/src/models/entity_balance_transfer_response_status_reason.rs new file mode 100644 index 0000000..4452441 --- /dev/null +++ b/src/models/entity_balance_transfer_response_status_reason.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransferResponseStatusReason : The reason for the current status of the transfer, if applicable. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferResponseStatusReason { + #[serde(rename = "code")] + pub code: models::BalanceTransferStatusReasonResponse, + /// A description of the status reason, localized according to the transfer. + #[serde(rename = "message")] + pub message: String, +} + +impl EntityBalanceTransferResponseStatusReason { + /// The reason for the current status of the transfer, if applicable. + pub fn new(code: models::BalanceTransferStatusReasonResponse, message: String) -> EntityBalanceTransferResponseStatusReason { + EntityBalanceTransferResponseStatusReason { + code, + message, + } + } +} + diff --git a/src/models/entity_balance_transfer_status_reason.rs b/src/models/entity_balance_transfer_status_reason.rs new file mode 100644 index 0000000..f1742ce --- /dev/null +++ b/src/models/entity_balance_transfer_status_reason.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityBalanceTransferStatusReason : The reason for the current status of the transfer, if applicable. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityBalanceTransferStatusReason { + #[serde(rename = "code")] + pub code: models::BalanceTransferStatusReason, + /// A description of the status reason, localized according to the transfer. + #[serde(rename = "message")] + pub message: String, +} + +impl EntityBalanceTransferStatusReason { + /// The reason for the current status of the transfer, if applicable. + pub fn new(code: models::BalanceTransferStatusReason, message: String) -> EntityBalanceTransferStatusReason { + EntityBalanceTransferStatusReason { + code, + message, + } + } +} + diff --git a/src/models/entity_capability.rs b/src/models/entity_capability.rs new file mode 100644 index 0000000..61a40dc --- /dev/null +++ b/src/models/entity_capability.rs @@ -0,0 +1,41 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCapability { + /// Always the word `capability` for this resource type. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// A unique name for this capability like `payments` / `settlements`. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "statusReason", skip_serializing_if = "Option::is_none")] + pub status_reason: Option, + #[serde(rename = "requirements", skip_serializing_if = "Option::is_none")] + pub requirements: Option>, +} + +impl EntityCapability { + pub fn new() -> EntityCapability { + EntityCapability { + resource: None, + name: None, + status: None, + status_reason: None, + requirements: None, + } + } +} + diff --git a/src/models/entity_capability_requirement.rs b/src/models/entity_capability_requirement.rs new file mode 100644 index 0000000..359c357 --- /dev/null +++ b/src/models/entity_capability_requirement.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCapabilityRequirement { + /// The name of this requirement, referring to the task to be fulfilled by the organization to enable or re-enable the capability. The name is unique among other requirements of the same capability. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// Due date until the requirement must be fulfilled, if any. The date is shown in ISO-8601 format. + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityCapabilityRequirement { + pub fn new() -> EntityCapabilityRequirement { + EntityCapabilityRequirement { + id: None, + status: None, + due_date: None, + _links: None, + } + } +} + diff --git a/src/models/entity_capability_requirement__links.rs b/src/models/entity_capability_requirement__links.rs new file mode 100644 index 0000000..c986b19 --- /dev/null +++ b/src/models/entity_capability_requirement__links.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCapabilityRequirementLinks { + #[serde(rename = "dashboard", skip_serializing_if = "Option::is_none")] + pub dashboard: Option>, +} + +impl EntityCapabilityRequirementLinks { + pub fn new() -> EntityCapabilityRequirementLinks { + EntityCapabilityRequirementLinks { + dashboard: None, + } + } +} + diff --git a/src/models/entity_capability_requirement__links_dashboard.rs b/src/models/entity_capability_requirement__links_dashboard.rs new file mode 100644 index 0000000..4c24ff6 --- /dev/null +++ b/src/models/entity_capability_requirement__links_dashboard.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityCapabilityRequirementLinksDashboard : If known, a deep link to the Mollie dashboard of the client, where the requirement can be fulfilled. For example, where necessary documents are to be uploaded. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCapabilityRequirementLinksDashboard { + /// The actual URL string. + #[serde(rename = "href", skip_serializing_if = "Option::is_none")] + pub href: Option, + /// The content type of the page or endpoint the URL points to. + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, +} + +impl EntityCapabilityRequirementLinksDashboard { + /// If known, a deep link to the Mollie dashboard of the client, where the requirement can be fulfilled. For example, where necessary documents are to be uploaded. + pub fn new() -> EntityCapabilityRequirementLinksDashboard { + EntityCapabilityRequirementLinksDashboard { + href: None, + r#type: None, + } + } +} + diff --git a/src/models/entity_capture.rs b/src/models/entity_capture.rs new file mode 100644 index 0000000..83e823d --- /dev/null +++ b/src/models/entity_capture.rs @@ -0,0 +1,68 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCapture { + /// Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the capture. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount captured. If no amount is provided, the full authorized amount is captured. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "shipmentId", skip_serializing_if = "Option::is_none")] + pub shipment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityCapture { + pub fn new() -> EntityCapture { + EntityCapture { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + settlement_amount: None, + status: None, + metadata: None, + payment_id: None, + shipment_id: None, + settlement_id: None, + created_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_capture__links.rs b/src/models/entity_capture__links.rs new file mode 100644 index 0000000..fb9ff05 --- /dev/null +++ b/src/models/entity_capture__links.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityCaptureLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCaptureLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [payment](get-payment) that this capture belongs to. + #[serde(rename = "payment")] + pub payment: Box, + /// The API resource URL of the [settlement](get-settlement) this capture has been settled with. Not present if not yet settled. + #[serde(rename = "settlement", skip_serializing_if = "Option::is_none")] + pub settlement: Option>, + /// The API resource URL of the [shipment](get-shipment) this capture is associated with. Not present if it isn't associated with a shipment. + #[serde(rename = "shipment", skip_serializing_if = "Option::is_none")] + pub shipment: Option>, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntityCaptureLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, payment: models::Url, documentation: models::Url) -> EntityCaptureLinks { + EntityCaptureLinks { + param_self: Box::new(param_self), + payment: Box::new(payment), + settlement: None, + shipment: None, + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_capture_response.rs b/src/models/entity_capture_response.rs new file mode 100644 index 0000000..04d226d --- /dev/null +++ b/src/models/entity_capture_response.rs @@ -0,0 +1,68 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCaptureResponse { + /// Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the capture. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount captured. If no amount is provided, the full authorized amount is captured. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Since the field contains an estimated amount during capture processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "shipmentId", skip_serializing_if = "Option::is_none")] + pub shipment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityCaptureResponse { + pub fn new() -> EntityCaptureResponse { + EntityCaptureResponse { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + settlement_amount: None, + status: None, + metadata: None, + payment_id: None, + shipment_id: None, + settlement_id: None, + created_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_chargeback.rs b/src/models/entity_chargeback.rs new file mode 100644 index 0000000..a01dcab --- /dev/null +++ b/src/models/entity_chargeback.rs @@ -0,0 +1,59 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityChargeback { + /// Indicates the response contains a chargeback object. Will always contain the string `chargeback` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + /// The amount charged back by the customer. + #[serde(rename = "amount")] + pub amount: Box, + /// This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. Since the field contains an estimated amount during chargeback processing, it may change over time. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "reason", skip_serializing_if = "Option::is_none")] + pub reason: Option>, + #[serde(rename = "paymentId")] + pub payment_id: String, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The date and time the chargeback was reversed if applicable, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "reversedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reversed_at: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityChargeback { + pub fn new(resource: String, id: String, amount: models::Amount, payment_id: String, created_at: String, _links: models::EntityRefundLinks) -> EntityChargeback { + EntityChargeback { + resource, + id, + amount: Box::new(amount), + settlement_amount: None, + reason: None, + payment_id, + settlement_id: None, + created_at, + reversed_at: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_chargeback_reason.rs b/src/models/entity_chargeback_reason.rs new file mode 100644 index 0000000..d7becb3 --- /dev/null +++ b/src/models/entity_chargeback_reason.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityChargebackReason : Reason for the chargeback as given by the bank. Only available for chargebacks of SEPA Direct Debit payments. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityChargebackReason { + /// Technical code provided by the bank. + #[serde(rename = "code")] + pub code: String, + /// A more detailed human-friendly description. + #[serde(rename = "description")] + pub description: String, +} + +impl EntityChargebackReason { + /// Reason for the chargeback as given by the bank. Only available for chargebacks of SEPA Direct Debit payments. + pub fn new(code: String, description: String) -> EntityChargebackReason { + EntityChargebackReason { + code, + description, + } + } +} + diff --git a/src/models/entity_client.rs b/src/models/entity_client.rs new file mode 100644 index 0000000..9b729ed --- /dev/null +++ b/src/models/entity_client.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClient { + /// Indicates the response contains a client object. Will always contain the string `client` for this resource type. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this client. Example: `org_12345678`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "commission", skip_serializing_if = "Option::is_none")] + pub commission: Option>, + /// The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "organizationCreatedAt", skip_serializing_if = "Option::is_none")] + pub organization_created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityClient { + pub fn new() -> EntityClient { + EntityClient { + resource: None, + id: None, + commission: None, + organization_created_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_client__links.rs b/src/models/entity_client__links.rs new file mode 100644 index 0000000..2f2bf11 --- /dev/null +++ b/src/models/entity_client__links.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityClientLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// The API resource URL of the client's organization. + #[serde(rename = "organization", skip_serializing_if = "Option::is_none")] + pub organization: Option>, + /// The API resource URL of the client's onboarding status. + #[serde(rename = "onboarding", skip_serializing_if = "Option::is_none")] + pub onboarding: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityClientLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityClientLinks { + EntityClientLinks { + param_self: None, + organization: None, + onboarding: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_client_commission.rs b/src/models/entity_client_commission.rs new file mode 100644 index 0000000..ef687de --- /dev/null +++ b/src/models/entity_client_commission.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityClientCommission : The commission object. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientCommission { + /// The commission count. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, +} + +impl EntityClientCommission { + /// The commission object. + pub fn new() -> EntityClientCommission { + EntityClientCommission { + count: None, + } + } +} + diff --git a/src/models/entity_client_link.rs b/src/models/entity_client_link.rs new file mode 100644 index 0000000..2619155 --- /dev/null +++ b/src/models/entity_client_link.rs @@ -0,0 +1,53 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLink { + /// Indicates the response contains a client link object. Will always contain the string `client-link` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "owner", skip_serializing_if = "Option::is_none")] + pub owner: Option>, + /// Name of the organization. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "address", skip_serializing_if = "Option::is_none")] + pub address: Option>, + /// The registration number of the organization at their local chamber of commerce. + #[serde(rename = "registrationNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub registration_number: Option>, + /// The VAT number of the organization, if based in the European Union. VAT numbers are verified against the international registry *VIES*. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityClientLink { + pub fn new() -> EntityClientLink { + EntityClientLink { + resource: None, + id: None, + owner: None, + name: None, + address: None, + registration_number: None, + vat_number: None, + _links: None, + } + } +} + diff --git a/src/models/entity_client_link__links.rs b/src/models/entity_client_link__links.rs new file mode 100644 index 0000000..85bcb89 --- /dev/null +++ b/src/models/entity_client_link__links.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityClientLinkLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLinkLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// The link you can send your customer to, where they can either log in and link their account, or sign up and proceed with onboarding. + #[serde(rename = "clientLink", skip_serializing_if = "Option::is_none")] + pub client_link: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityClientLinkLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityClientLinkLinks { + EntityClientLinkLinks { + param_self: None, + client_link: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_client_link_address.rs b/src/models/entity_client_link_address.rs new file mode 100644 index 0000000..7e1c9b3 --- /dev/null +++ b/src/models/entity_client_link_address.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityClientLinkAddress : Address of the organization. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLinkAddress { + /// The street name and house number of the organization. + #[serde(rename = "streetAndNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub street_and_number: Option>, + /// The postal code of the organization. Required if a street address is provided and if the country has a postal code system. + #[serde(rename = "postalCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub postal_code: Option>, + /// The city of the organization. Required if a street address is provided. + #[serde(rename = "city", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub city: Option>, + /// The country of the address in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "country")] + pub country: String, +} + +impl EntityClientLinkAddress { + /// Address of the organization. + pub fn new(country: String) -> EntityClientLinkAddress { + EntityClientLinkAddress { + street_and_number: None, + postal_code: None, + city: None, + country, + } + } +} + diff --git a/src/models/entity_client_link_owner.rs b/src/models/entity_client_link_owner.rs new file mode 100644 index 0000000..c55f8e2 --- /dev/null +++ b/src/models/entity_client_link_owner.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityClientLinkOwner : Personal data of your customer. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLinkOwner { + /// The email address of your customer. + #[serde(rename = "email")] + pub email: String, + /// The given name (first name) of your customer. + #[serde(rename = "givenName")] + pub given_name: String, + /// The family name (surname) of your customer. + #[serde(rename = "familyName")] + pub family_name: String, + /// Preset the language to be used for the login screen, if applicable. For the consent screen, the preferred language of the logged in merchant will be used and this parameter is ignored. When this parameter is omitted, the browser language will be used instead. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, +} + +impl EntityClientLinkOwner { + /// Personal data of your customer. + pub fn new(email: String, given_name: String, family_name: String) -> EntityClientLinkOwner { + EntityClientLinkOwner { + email, + given_name, + family_name, + locale: None, + } + } +} + diff --git a/src/models/entity_client_link_response.rs b/src/models/entity_client_link_response.rs new file mode 100644 index 0000000..b6dc76c --- /dev/null +++ b/src/models/entity_client_link_response.rs @@ -0,0 +1,53 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityClientLinkResponse { + /// Indicates the response contains a client link object. Will always contain the string `client-link` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "owner", skip_serializing_if = "Option::is_none")] + pub owner: Option>, + /// Name of the organization. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "address", skip_serializing_if = "Option::is_none")] + pub address: Option>, + /// The registration number of the organization at their local chamber of commerce. + #[serde(rename = "registrationNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub registration_number: Option>, + /// The VAT number of the organization, if based in the European Union. VAT numbers are verified against the international registry *VIES*. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityClientLinkResponse { + pub fn new() -> EntityClientLinkResponse { + EntityClientLinkResponse { + resource: None, + id: None, + owner: None, + name: None, + address: None, + registration_number: None, + vat_number: None, + _links: None, + } + } +} + diff --git a/src/models/entity_customer.rs b/src/models/entity_customer.rs new file mode 100644 index 0000000..d9bc0f7 --- /dev/null +++ b/src/models/entity_customer.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCustomer { + /// Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The full name of the customer. + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + /// The email address of the customer. + #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub email: Option>, + /// Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityCustomer { + pub fn new() -> EntityCustomer { + EntityCustomer { + resource: None, + id: None, + mode: None, + name: None, + email: None, + locale: None, + metadata: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_customer__links.rs b/src/models/entity_customer__links.rs new file mode 100644 index 0000000..73fec70 --- /dev/null +++ b/src/models/entity_customer__links.rs @@ -0,0 +1,47 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityCustomerLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCustomerLinks { + #[serde(rename = "self")] + pub param_self: Box, + #[serde(rename = "dashboard")] + pub dashboard: Box, + /// The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments exist (yet). + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, + /// The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates exist (yet). + #[serde(rename = "mandates", skip_serializing_if = "Option::is_none")] + pub mandates: Option>, + /// The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such subscriptions exist (yet). + #[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")] + pub subscriptions: Option>, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntityCustomerLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, dashboard: models::Url, documentation: models::Url) -> EntityCustomerLinks { + EntityCustomerLinks { + param_self: Box::new(param_self), + dashboard: Box::new(dashboard), + payments: None, + mandates: None, + subscriptions: None, + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_customer_response.rs b/src/models/entity_customer_response.rs new file mode 100644 index 0000000..5ec2c13 --- /dev/null +++ b/src/models/entity_customer_response.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityCustomerResponse { + /// Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The full name of the customer. + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + /// The email address of the customer. + #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub email: Option>, + /// Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityCustomerResponse { + pub fn new() -> EntityCustomerResponse { + EntityCustomerResponse { + resource: None, + id: None, + mode: None, + name: None, + email: None, + locale: None, + metadata: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_event.rs b/src/models/entity_event.rs new file mode 100644 index 0000000..65f2330 --- /dev/null +++ b/src/models/entity_event.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityEvent { + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "type")] + pub r#type: i32, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + #[serde(rename = "message")] + pub message: String, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityEvent { + pub fn new(resource: String, r#type: i32, created_at: String, message: String) -> EntityEvent { + EntityEvent { + resource, + r#type, + created_at, + message, + _links: None, + } + } +} + diff --git a/src/models/entity_event__links.rs b/src/models/entity_event__links.rs new file mode 100644 index 0000000..9aff0b4 --- /dev/null +++ b/src/models/entity_event__links.rs @@ -0,0 +1,29 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityEventLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityEventLinks { + #[serde(rename = "url", skip_serializing_if = "Option::is_none")] + pub url: Option>, +} + +impl EntityEventLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityEventLinks { + EntityEventLinks { + url: None, + } + } +} + diff --git a/src/models/entity_invoice.rs b/src/models/entity_invoice.rs new file mode 100644 index 0000000..76961fb --- /dev/null +++ b/src/models/entity_invoice.rs @@ -0,0 +1,74 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityInvoice { + /// Indicates that the response contains an invoice object. Will always contain the string `invoice` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this invoice. Example: `inv_FrvewDA3Pr`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// The reference number of the invoice. An example value would be: `2024.10000`. + #[serde(rename = "reference", skip_serializing_if = "Option::is_none")] + pub reference: Option, + /// The VAT number to which the invoice was issued to, if applicable. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// Total amount of the invoice, excluding VAT. + #[serde(rename = "netAmount", skip_serializing_if = "Option::is_none")] + pub net_amount: Option>, + /// VAT amount of the invoice. Only applicable to merchants registered in the Netherlands. For EU merchants, VAT will be shifted to the recipient (as per article 44 and 196 in the EU VAT Directive 2006/112). For merchants outside the EU, no VAT will be charged. + #[serde(rename = "vatAmount", skip_serializing_if = "Option::is_none")] + pub vat_amount: Option>, + /// Total amount of the invoice, including VAT. + #[serde(rename = "grossAmount", skip_serializing_if = "Option::is_none")] + pub gross_amount: Option>, + /// The collection of products which make up the invoice. + #[serde(rename = "lines", skip_serializing_if = "Option::is_none")] + pub lines: Option>, + /// The invoice date in `YYYY-MM-DD` format. + #[serde(rename = "issuedAt", skip_serializing_if = "Option::is_none")] + pub issued_at: Option, + /// The date on which the invoice was paid, if applicable, in `YYYY-MM-DD` format. + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// The date on which the invoice is due, if applicable, in `YYYY-MM-DD` format. + #[serde(rename = "dueAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub due_at: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityInvoice { + pub fn new() -> EntityInvoice { + EntityInvoice { + resource: None, + id: None, + reference: None, + vat_number: None, + status: None, + net_amount: None, + vat_amount: None, + gross_amount: None, + lines: None, + issued_at: None, + paid_at: None, + due_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_invoice__links.rs b/src/models/entity_invoice__links.rs new file mode 100644 index 0000000..3f76433 --- /dev/null +++ b/src/models/entity_invoice__links.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityInvoiceLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityInvoiceLinks { + /// URL to the current invoice resource. + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// URL to a downloadable PDF of the invoice. + #[serde(rename = "pdf", skip_serializing_if = "Option::is_none")] + pub pdf: Option>, + /// URL to the API documentation. + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityInvoiceLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityInvoiceLinks { + EntityInvoiceLinks { + param_self: None, + pdf: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_invoice_lines_inner.rs b/src/models/entity_invoice_lines_inner.rs new file mode 100644 index 0000000..ee3be7e --- /dev/null +++ b/src/models/entity_invoice_lines_inner.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityInvoiceLinesInner { + /// The administrative period in `YYYY-MM` on which the line should be booked. + #[serde(rename = "period", skip_serializing_if = "Option::is_none")] + pub period: Option, + /// Description of the product. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Number of products invoiced. For example, the number of payments. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + /// VAT percentage rate that applies to this product. + #[serde(rename = "vatPercentage", skip_serializing_if = "Option::is_none")] + pub vat_percentage: Option, + /// Line item amount excluding VAT. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, +} + +impl EntityInvoiceLinesInner { + pub fn new() -> EntityInvoiceLinesInner { + EntityInvoiceLinesInner { + period: None, + description: None, + count: None, + vat_percentage: None, + amount: None, + } + } +} + diff --git a/src/models/entity_mandate.rs b/src/models/entity_mandate.rs new file mode 100644 index 0000000..84b44fb --- /dev/null +++ b/src/models/entity_mandate.rs @@ -0,0 +1,89 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMandate { + /// Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "method", skip_serializing_if = "Option::is_none")] + pub method: Option, + /// The customer's name. + #[serde(rename = "consumerName", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option, + /// The customer's IBAN. Required for SEPA Direct Debit mandates. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// The customer's email address. Required for PayPal mandates. + #[serde(rename = "consumerEmail", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_email: Option>, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The date when the mandate was signed in `YYYY-MM-DD` format. + #[serde(rename = "signatureDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub signature_date: Option>, + /// A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. + #[serde(rename = "mandateReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option>, + /// The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. + #[serde(rename = "paypalBillingAgreementId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_billing_agreement_id: Option>, + /// The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. + #[serde(rename = "payPalVaultId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub pay_pal_vault_id: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityMandate { + pub fn new() -> EntityMandate { + EntityMandate { + resource: None, + id: None, + mode: None, + method: None, + consumer_name: None, + consumer_account: None, + consumer_bic: None, + consumer_email: None, + details: None, + signature_date: None, + mandate_reference: None, + paypal_billing_agreement_id: None, + pay_pal_vault_id: None, + status: None, + customer_id: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_mandate__links.rs b/src/models/entity_mandate__links.rs new file mode 100644 index 0000000..b112034 --- /dev/null +++ b/src/models/entity_mandate__links.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityMandateLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMandateLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [customer](get-customer) that this mandate belongs to. + #[serde(rename = "customer")] + pub customer: Box, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntityMandateLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, customer: models::Url, documentation: models::Url) -> EntityMandateLinks { + EntityMandateLinks { + param_self: Box::new(param_self), + customer: Box::new(customer), + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_mandate_details.rs b/src/models/entity_mandate_details.rs new file mode 100644 index 0000000..8f44246 --- /dev/null +++ b/src/models/entity_mandate_details.rs @@ -0,0 +1,55 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMandateDetails { + /// The customer's name. Available for SEPA Direct Debit and PayPal mandates. + #[serde(rename = "consumerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option>, + /// The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank. Available for SEPA Direct Debit mandates. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// The card holder's name. Available for card mandates. + #[serde(rename = "cardHolder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_holder: Option>, + /// The last four digits of the card number. Available for card mandates. + #[serde(rename = "cardNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_number: Option>, + /// The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. + #[serde(rename = "cardExpiryDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_expiry_date: Option>, + #[serde(rename = "cardLabel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_label: Option>, + /// Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify returning customers. + #[serde(rename = "cardFingerprint", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_fingerprint: Option>, +} + +impl EntityMandateDetails { + pub fn new() -> EntityMandateDetails { + EntityMandateDetails { + consumer_name: None, + consumer_account: None, + consumer_bic: None, + card_holder: None, + card_number: None, + card_expiry_date: None, + card_label: None, + card_fingerprint: None, + } + } +} + diff --git a/src/models/entity_mandate_response.rs b/src/models/entity_mandate_response.rs new file mode 100644 index 0000000..2b885a3 --- /dev/null +++ b/src/models/entity_mandate_response.rs @@ -0,0 +1,89 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMandateResponse { + /// Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "method", skip_serializing_if = "Option::is_none")] + pub method: Option, + /// The customer's name. + #[serde(rename = "consumerName", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option, + /// The customer's IBAN. Required for SEPA Direct Debit mandates. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// The customer's email address. Required for PayPal mandates. + #[serde(rename = "consumerEmail", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_email: Option>, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The date when the mandate was signed in `YYYY-MM-DD` format. + #[serde(rename = "signatureDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub signature_date: Option>, + /// A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. + #[serde(rename = "mandateReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option>, + /// The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. + #[serde(rename = "paypalBillingAgreementId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_billing_agreement_id: Option>, + /// The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. + #[serde(rename = "payPalVaultId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub pay_pal_vault_id: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityMandateResponse { + pub fn new() -> EntityMandateResponse { + EntityMandateResponse { + resource: None, + id: None, + mode: None, + method: None, + consumer_name: None, + consumer_account: None, + consumer_bic: None, + consumer_email: None, + details: None, + signature_date: None, + mandate_reference: None, + paypal_billing_agreement_id: None, + pay_pal_vault_id: None, + status: None, + customer_id: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_mandate_response_details.rs b/src/models/entity_mandate_response_details.rs new file mode 100644 index 0000000..6113d8f --- /dev/null +++ b/src/models/entity_mandate_response_details.rs @@ -0,0 +1,55 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMandateResponseDetails { + /// The customer's name. Available for SEPA Direct Debit and PayPal mandates. + #[serde(rename = "consumerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option>, + /// The customer's IBAN or email address. Available for SEPA Direct Debit and PayPal mandates. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank. Available for SEPA Direct Debit mandates. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// The card holder's name. Available for card mandates. + #[serde(rename = "cardHolder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_holder: Option>, + /// The last four digits of the card number. Available for card mandates. + #[serde(rename = "cardNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_number: Option>, + /// The card's expiry date in `YYYY-MM-DD` format. Available for card mandates. + #[serde(rename = "cardExpiryDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_expiry_date: Option>, + #[serde(rename = "cardLabel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_label: Option>, + /// Unique alphanumeric representation of this specific card. Available for card mandates. Can be used to identify returning customers. + #[serde(rename = "cardFingerprint", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_fingerprint: Option>, +} + +impl EntityMandateResponseDetails { + pub fn new() -> EntityMandateResponseDetails { + EntityMandateResponseDetails { + consumer_name: None, + consumer_account: None, + consumer_bic: None, + card_holder: None, + card_number: None, + card_expiry_date: None, + card_label: None, + card_fingerprint: None, + } + } +} + diff --git a/src/models/entity_method.rs b/src/models/entity_method.rs new file mode 100644 index 0000000..c5fb455 --- /dev/null +++ b/src/models/entity_method.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethod { + /// Indicates the response contains a payment method object. Will always contain the string `method` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped. + #[serde(rename = "id", deserialize_with = "Option::deserialize")] + pub id: Option, + /// The full name of the payment method. If a `locale` parameter is provided, the name is translated to the given locale if possible. + #[serde(rename = "description")] + pub description: String, + /// The minimum payment amount required to use this payment method. + #[serde(rename = "minimumAmount")] + pub minimum_amount: Box, + /// The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` is returned instead. + #[serde(rename = "maximumAmount")] + pub maximum_amount: Box, + #[serde(rename = "image")] + pub image: Box, + #[serde(rename = "status")] + pub status: models::MethodStatus, + /// **Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant for iDEAL, KBC/CBC, gift cards, and vouchers. + #[serde(rename = "issuers", skip_serializing_if = "Option::is_none")] + pub issuers: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityMethod { + pub fn new(resource: String, id: Option, description: String, minimum_amount: models::Amount, maximum_amount: models::AmountNullable, image: models::EntityMethodImage, status: models::MethodStatus, _links: models::EntityMethodLinks) -> EntityMethod { + EntityMethod { + resource, + id, + description, + minimum_amount: Box::new(minimum_amount), + maximum_amount: Box::new(maximum_amount), + image: Box::new(image), + status, + issuers: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_method__links.rs b/src/models/entity_method__links.rs new file mode 100644 index 0000000..1ce0a09 --- /dev/null +++ b/src/models/entity_method__links.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityMethodLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodLinks { + #[serde(rename = "self")] + pub param_self: Box, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityMethodLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url) -> EntityMethodLinks { + EntityMethodLinks { + param_self: Box::new(param_self), + documentation: None, + } + } +} + diff --git a/src/models/entity_method_all.rs b/src/models/entity_method_all.rs new file mode 100644 index 0000000..2281868 --- /dev/null +++ b/src/models/entity_method_all.rs @@ -0,0 +1,61 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodAll { + /// Indicates the response contains a payment method object. Will always contain the string `method` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The unique identifier of the payment method. When used during [payment creation](create-payment), the payment method selection screen will be skipped. + #[serde(rename = "id", deserialize_with = "Option::deserialize")] + pub id: Option, + /// The full name of the payment method. If a `locale` parameter is provided, the name is translated to the given locale if possible. + #[serde(rename = "description")] + pub description: String, + /// The minimum payment amount required to use this payment method. + #[serde(rename = "minimumAmount")] + pub minimum_amount: Box, + /// The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null` is returned instead. + #[serde(rename = "maximumAmount")] + pub maximum_amount: Box, + #[serde(rename = "image")] + pub image: Box, + #[serde(rename = "status")] + pub status: models::MethodStatus, + /// **Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant for iDEAL, KBC/CBC, gift cards, and vouchers. + #[serde(rename = "issuers", skip_serializing_if = "Option::is_none")] + pub issuers: Option>, + #[serde(rename = "_links")] + pub _links: Box, + /// **Optional include.** Array of objects describing the pricing configuration applicable for this payment method on your account. + #[serde(rename = "pricing", skip_serializing_if = "Option::is_none")] + pub pricing: Option>, +} + +impl EntityMethodAll { + pub fn new(resource: String, id: Option, description: String, minimum_amount: models::Amount, maximum_amount: models::AmountNullable, image: models::EntityMethodImage, status: models::MethodStatus, _links: models::EntityMethodLinks) -> EntityMethodAll { + EntityMethodAll { + resource, + id, + description, + minimum_amount: Box::new(minimum_amount), + maximum_amount: Box::new(maximum_amount), + image: Box::new(image), + status, + issuers: None, + _links: Box::new(_links), + pricing: None, + } + } +} + diff --git a/src/models/entity_method_all_all_of_pricing.rs b/src/models/entity_method_all_all_of_pricing.rs new file mode 100644 index 0000000..5158cee --- /dev/null +++ b/src/models/entity_method_all_all_of_pricing.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodAllAllOfPricing { + /// A description of what the pricing applies to. For example, a specific country (`The Netherlands`) or a category of cards (`American Express`). If a `locale` is provided, the description may be translated. + #[serde(rename = "description")] + pub description: String, + /// The fixed price charged per payment. + #[serde(rename = "fixed")] + pub fixed: Box, + /// The variable price charged per payment, as a percentage string. + #[serde(rename = "variable")] + pub variable: String, + /// Only present for credit card pricing. It will correspond with the `feeRegion` of credit card payments as returned in the [Payments API](get-payment). + #[serde(rename = "feeRegion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub fee_region: Option>, +} + +impl EntityMethodAllAllOfPricing { + pub fn new(description: String, fixed: models::Amount, variable: String) -> EntityMethodAllAllOfPricing { + EntityMethodAllAllOfPricing { + description, + fixed: Box::new(fixed), + variable, + fee_region: None, + } + } +} + diff --git a/src/models/entity_method_image.rs b/src/models/entity_method_image.rs new file mode 100644 index 0000000..65e9a87 --- /dev/null +++ b/src/models/entity_method_image.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityMethodImage : URLs of images representing the payment method. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodImage { + /// The URL pointing to an icon of 32 by 24 pixels. + #[serde(rename = "size1x")] + pub size1x: String, + /// The URL pointing to an icon of 64 by 48 pixels. + #[serde(rename = "size2x")] + pub size2x: String, + /// The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. + #[serde(rename = "svg")] + pub svg: String, +} + +impl EntityMethodImage { + /// URLs of images representing the payment method. + pub fn new(size1x: String, size2x: String, svg: String) -> EntityMethodImage { + EntityMethodImage { + size1x, + size2x, + svg, + } + } +} + diff --git a/src/models/entity_method_issuers_inner.rs b/src/models/entity_method_issuers_inner.rs new file mode 100644 index 0000000..a340290 --- /dev/null +++ b/src/models/entity_method_issuers_inner.rs @@ -0,0 +1,37 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodIssuersInner { + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + /// The full name of the issuer. + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "image")] + pub image: Box, +} + +impl EntityMethodIssuersInner { + pub fn new(resource: String, id: String, name: String, image: models::EntityMethodIssuersInnerImage) -> EntityMethodIssuersInner { + EntityMethodIssuersInner { + resource, + id, + name, + image: Box::new(image), + } + } +} + diff --git a/src/models/entity_method_issuers_inner_image.rs b/src/models/entity_method_issuers_inner_image.rs new file mode 100644 index 0000000..c7a5f24 --- /dev/null +++ b/src/models/entity_method_issuers_inner_image.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityMethodIssuersInnerImage : URLs of images representing the issuer. required: - size1x - size2x - svg +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityMethodIssuersInnerImage { + /// The URL pointing to an icon of 32 by 24 pixels. + #[serde(rename = "size1x", skip_serializing_if = "Option::is_none")] + pub size1x: Option, + /// The URL pointing to an icon of 64 by 48 pixels. + #[serde(rename = "size2x", skip_serializing_if = "Option::is_none")] + pub size2x: Option, + /// The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. + #[serde(rename = "svg", skip_serializing_if = "Option::is_none")] + pub svg: Option, +} + +impl EntityMethodIssuersInnerImage { + /// URLs of images representing the issuer. required: - size1x - size2x - svg + pub fn new() -> EntityMethodIssuersInnerImage { + EntityMethodIssuersInnerImage { + size1x: None, + size2x: None, + svg: None, + } + } +} + diff --git a/src/models/entity_onboarding_status.rs b/src/models/entity_onboarding_status.rs new file mode 100644 index 0000000..1719d6c --- /dev/null +++ b/src/models/entity_onboarding_status.rs @@ -0,0 +1,50 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityOnboardingStatus { + /// Indicates the response contains an onboarding status object. Will always contain the string `onboarding` for this resource type. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The name of the organization. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// Whether the organization can receive payments. + #[serde(rename = "canReceivePayments", skip_serializing_if = "Option::is_none")] + pub can_receive_payments: Option, + /// Whether the organization can receive settlements to their external bank account. + #[serde(rename = "canReceiveSettlements", skip_serializing_if = "Option::is_none")] + pub can_receive_settlements: Option, + /// The sign up date time of the organization in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "signedUpAt", skip_serializing_if = "Option::is_none")] + pub signed_up_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityOnboardingStatus { + pub fn new() -> EntityOnboardingStatus { + EntityOnboardingStatus { + resource: None, + name: None, + status: None, + can_receive_payments: None, + can_receive_settlements: None, + signed_up_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_onboarding_status__links.rs b/src/models/entity_onboarding_status__links.rs new file mode 100644 index 0000000..9de051f --- /dev/null +++ b/src/models/entity_onboarding_status__links.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityOnboardingStatusLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityOnboardingStatusLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// Direct link to the onboarding process in the Mollie dashboard. The merchant can be redirected to this page to complete their onboarding. + #[serde(rename = "dashboard", skip_serializing_if = "Option::is_none")] + pub dashboard: Option>, + /// The API resource URL of the organization. + #[serde(rename = "organization", skip_serializing_if = "Option::is_none")] + pub organization: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityOnboardingStatusLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityOnboardingStatusLinks { + EntityOnboardingStatusLinks { + param_self: None, + dashboard: None, + organization: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_organization.rs b/src/models/entity_organization.rs new file mode 100644 index 0000000..f73749f --- /dev/null +++ b/src/models/entity_organization.rs @@ -0,0 +1,62 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityOrganization { + /// Indicates the response contains an organization object. Will always contain the string `organization` for this resource type. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this organization. Example: `org_12345678`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// The name of the organization. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The email address associated with the organization. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// The preferred locale of the merchant, as set in their Mollie dashboard. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// The address of the organization. + #[serde(rename = "address", skip_serializing_if = "Option::is_none")] + pub address: Option>, + /// The registration number of the organization at their local chamber of commerce. + #[serde(rename = "registrationNumber", skip_serializing_if = "Option::is_none")] + pub registration_number: Option, + /// The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are verified against the international registry *VIES*. The field is not present for merchants residing in other countries. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + #[serde(rename = "vatRegulation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_regulation: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityOrganization { + pub fn new() -> EntityOrganization { + EntityOrganization { + resource: None, + id: None, + name: None, + email: None, + locale: None, + address: None, + registration_number: None, + vat_number: None, + vat_regulation: None, + _links: None, + } + } +} + diff --git a/src/models/entity_organization__links.rs b/src/models/entity_organization__links.rs new file mode 100644 index 0000000..f4dd555 --- /dev/null +++ b/src/models/entity_organization__links.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityOrganizationLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityOrganizationLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// Direct link to the organization's Mollie dashboard. + #[serde(rename = "dashboard", skip_serializing_if = "Option::is_none")] + pub dashboard: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityOrganizationLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityOrganizationLinks { + EntityOrganizationLinks { + param_self: None, + dashboard: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_payment.rs b/src/models/entity_payment.rs new file mode 100644 index 0000000..fdb9119 --- /dev/null +++ b/src/models/entity_payment.rs @@ -0,0 +1,200 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPayment { + /// Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. + #[serde(rename = "amountRefunded", skip_serializing_if = "Option::is_none")] + pub amount_refunded: Option>, + /// The remaining amount that can be refunded. Only available when refunds are available for this payment. + #[serde(rename = "amountRemaining", skip_serializing_if = "Option::is_none")] + pub amount_remaining: Option>, + /// The total amount that is already captured for this payment. Only available when this payment supports captures. + #[serde(rename = "amountCaptured", skip_serializing_if = "Option::is_none")] + pub amount_captured: Option>, + /// The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. + #[serde(rename = "amountChargedBack", skip_serializing_if = "Option::is_none")] + pub amount_charged_back: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + /// The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. + #[serde(rename = "redirectUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option>, + /// The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. + #[serde(rename = "cancelUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub cancel_url: Option>, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option>, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. + #[serde(rename = "countryCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub country_code: Option>, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + #[serde(rename = "issuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub issuer: Option>, + /// For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + #[serde(rename = "restrictPaymentMethodsToCountry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub restrict_payment_methods_to_country: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "captureMode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_mode: Option>, + /// **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` + #[serde(rename = "captureDelay", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_delay: Option>, + /// Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "captureBefore", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_before: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. + #[serde(rename = "routing", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub routing: Option>>, + /// **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + #[serde(rename = "subscriptionId", skip_serializing_if = "Option::is_none")] + pub subscription_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "orderId", skip_serializing_if = "Option::is_none")] + pub order_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "statusReason", skip_serializing_if = "Option::is_none")] + pub status_reason: Option>, + /// Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + #[serde(rename = "isCancelable", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub is_cancelable: Option>, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "authorizedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub authorized_at: Option>, + /// The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). + #[serde(rename = "canceledAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option>, + /// The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. + #[serde(rename = "expiresAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expires_at: Option>, + /// The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). + #[serde(rename = "expiredAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expired_at: Option>, + /// The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). + #[serde(rename = "failedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failed_at: Option>, + /// The date by which the payment should be completed in `YYYY-MM-DD` format + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityPayment { + pub fn new() -> EntityPayment { + EntityPayment { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + amount_refunded: None, + amount_remaining: None, + amount_captured: None, + amount_charged_back: None, + settlement_amount: None, + redirect_url: None, + cancel_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + locale: None, + country_code: None, + method: None, + issuer: None, + restrict_payment_methods_to_country: None, + metadata: None, + capture_mode: None, + capture_delay: None, + capture_before: None, + application_fee: None, + routing: None, + sequence_type: None, + subscription_id: None, + mandate_id: None, + customer_id: None, + profile_id: None, + settlement_id: None, + order_id: None, + status: None, + status_reason: None, + is_cancelable: None, + details: None, + created_at: None, + authorized_at: None, + paid_at: None, + canceled_at: None, + expires_at: None, + expired_at: None, + failed_at: None, + due_date: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_payment__links.rs b/src/models/entity_payment__links.rs new file mode 100644 index 0000000..d0c2287 --- /dev/null +++ b/src/models/entity_payment__links.rs @@ -0,0 +1,92 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The URL your customer should visit to make the payment. This is where you should redirect the customer to. + #[serde(rename = "checkout", skip_serializing_if = "Option::is_none")] + pub checkout: Option>, + /// The deeplink URL to the app of the payment method. Currently only available for `bancontact`. + #[serde(rename = "mobileAppCheckout", skip_serializing_if = "Option::is_none")] + pub mobile_app_checkout: Option>, + /// For test mode payments in certain scenarios, a hosted interface is available to help you test different payment states. Firstly, for recurring test mode payments. Recurring payments do not have a checkout URL, because these payments are executed without any user interaction. Secondly, for paid test mode payments. The payment state screen will then allow you to create a refund or chargeback for the test payment. + #[serde(rename = "changePaymentState", skip_serializing_if = "Option::is_none")] + pub change_payment_state: Option>, + /// Direct link to the payment in the Mollie Dashboard. + #[serde(rename = "dashboard")] + pub dashboard: Box, + /// The API resource URL of the [refunds](list-payment-refunds) that belong to this payment. + #[serde(rename = "refunds", skip_serializing_if = "Option::is_none")] + pub refunds: Option>, + /// The API resource URL of the [chargebacks](list-payment-chargebacks) that belong to this payment. + #[serde(rename = "chargebacks", skip_serializing_if = "Option::is_none")] + pub chargebacks: Option>, + /// The API resource URL of the [captures](list-payment-captures) that belong to this payment. + #[serde(rename = "captures", skip_serializing_if = "Option::is_none")] + pub captures: Option>, + /// The API resource URL of the [settlement](get-settlement) this payment has been settled with. Not present if not yet settled. + #[serde(rename = "settlement", skip_serializing_if = "Option::is_none")] + pub settlement: Option>, + /// The API resource URL of the [customer](get-customer). + #[serde(rename = "customer", skip_serializing_if = "Option::is_none")] + pub customer: Option>, + /// The API resource URL of the [mandate](get-mandate). + #[serde(rename = "mandate", skip_serializing_if = "Option::is_none")] + pub mandate: Option>, + /// The API resource URL of the [subscription](get-subscription). + #[serde(rename = "subscription", skip_serializing_if = "Option::is_none")] + pub subscription: Option>, + /// The API resource URL of the [order](get-order) this payment was created for. Not present if not created for an order. + #[serde(rename = "order", skip_serializing_if = "Option::is_none")] + pub order: Option>, + /// The API resource URL of the [terminal](get-terminal) this payment was created for. Only present for point-of-sale payments. + #[serde(rename = "terminal", skip_serializing_if = "Option::is_none")] + pub terminal: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, + /// Link to customer-facing page showing the status of the bank transfer (to verify if the transaction was successful). + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option>, + /// Link to Mollie Checkout page allowing customers to select a different payment method instead of legacy bank transfer. + #[serde(rename = "payOnline", skip_serializing_if = "Option::is_none")] + pub pay_online: Option>, +} + +impl EntityPaymentLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, dashboard: models::Url) -> EntityPaymentLinks { + EntityPaymentLinks { + param_self: Box::new(param_self), + checkout: None, + mobile_app_checkout: None, + change_payment_state: None, + dashboard: Box::new(dashboard), + refunds: None, + chargebacks: None, + captures: None, + settlement: None, + customer: None, + mandate: None, + subscription: None, + order: None, + terminal: None, + documentation: None, + status: None, + pay_online: None, + } + } +} + diff --git a/src/models/entity_payment_application_fee.rs b/src/models/entity_payment_application_fee.rs new file mode 100644 index 0000000..121d6fd --- /dev/null +++ b/src/models/entity_payment_application_fee.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentApplicationFee : With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payments on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If the payment succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance. If instead you want to split a payment on your own account between yourself and a connected merchant, refer to the `routing` parameter. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentApplicationFee { + /// The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The description of the application fee. This will appear on settlement reports towards both you and the connected merchant. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, +} + +impl EntityPaymentApplicationFee { + /// With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payments on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If the payment succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance. If instead you want to split a payment on your own account between yourself and a connected merchant, refer to the `routing` parameter. + pub fn new() -> EntityPaymentApplicationFee { + EntityPaymentApplicationFee { + amount: None, + description: None, + } + } +} + diff --git a/src/models/entity_payment_billing_address.rs b/src/models/entity_payment_billing_address.rs new file mode 100644 index 0000000..9413d00 --- /dev/null +++ b/src/models/entity_payment_billing_address.rs @@ -0,0 +1,73 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentBillingAddress : The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentBillingAddress { + /// The title of the person, for example *Mr.* or *Mrs.*. + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + /// The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "givenName", skip_serializing_if = "Option::is_none")] + pub given_name: Option, + /// The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "familyName", skip_serializing_if = "Option::is_none")] + pub family_name: Option, + #[serde(rename = "organizationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_name: Option>, + /// A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "streetAndNumber", skip_serializing_if = "Option::is_none")] + pub street_and_number: Option, + /// Any additional addressing details, for example an apartment number. + #[serde(rename = "streetAdditional", skip_serializing_if = "Option::is_none")] + pub street_additional: Option, + /// A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "postalCode", skip_serializing_if = "Option::is_none")] + pub postal_code: Option, + /// A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "city", skip_serializing_if = "Option::is_none")] + pub city: Option, + /// The top-level administrative subdivision of the country. For example: Noord-Holland. + #[serde(rename = "region", skip_serializing_if = "Option::is_none")] + pub region: Option, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "country", skip_serializing_if = "Option::is_none")] + pub country: Option, +} + +impl EntityPaymentBillingAddress { + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + pub fn new() -> EntityPaymentBillingAddress { + EntityPaymentBillingAddress { + title: None, + given_name: None, + family_name: None, + organization_name: None, + street_and_number: None, + street_additional: None, + postal_code: None, + email: None, + phone: None, + city: None, + region: None, + country: None, + } + } +} + diff --git a/src/models/entity_payment_details.rs b/src/models/entity_payment_details.rs new file mode 100644 index 0000000..64d8f7f --- /dev/null +++ b/src/models/entity_payment_details.rs @@ -0,0 +1,216 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentDetails : An object containing payment details collected during the payment process. For example, details may include the customer's card or bank details and a payment reference. For the full list of details, please refer to the [method-specific parameters](extra-payment-parameters) guide. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentDetails { + /// The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. + #[serde(rename = "consumerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option>, + /// The customer's account reference. For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number. For PayPal, the account reference is an email address. For card and Bancontact payments, refer to details.cardNumber. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank account, if applicable. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail. + #[serde(rename = "shippingAddress", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>>, + /// For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. + #[serde(rename = "cardNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_number: Option>, + /// The name of the bank that the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankName", skip_serializing_if = "Option::is_none")] + pub bank_name: Option, + /// The bank account number the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")] + pub bank_account: Option, + /// The BIC of the bank the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankBic", skip_serializing_if = "Option::is_none")] + pub bank_bic: Option, + /// The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is. + #[serde(rename = "transferReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub transfer_reference: Option>, + /// A unique fingerprint for a specific card. Can be used to identify returning customers. In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, linking multiple transactions from wallets and physical card to a single account, also across payment methods or when the card is reissued. + #[serde(rename = "cardFingerprint", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_fingerprint: Option>, + /// The customer's name as shown on their card. + #[serde(rename = "cardHolder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_holder: Option>, + #[serde(rename = "cardAudition", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_audition: Option>, + #[serde(rename = "cardLabel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_label: Option>, + /// The ISO 3166-1 alpha-2 country code of the country the card was issued in. + #[serde(rename = "cardCountryCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_country_code: Option>, + /// The expiry date (MM/YY) of the card as displayed on the card. + #[serde(rename = "cardExpiryDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_expiry_date: Option>, + #[serde(rename = "cardFunding", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_funding: Option>, + #[serde(rename = "cardSecurity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_security: Option>, + #[serde(rename = "feeRegion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub fee_region: Option>, + /// The first 6 and last 4 digits of the card number. + #[serde(rename = "cardMaskedNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_masked_number: Option>, + /// The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). + #[serde(rename = "card3dsEci", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card3ds_eci: Option>, + /// The first 6 digit of the card bank identification number. + #[serde(rename = "cardBin", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_bin: Option>, + /// The issuer of the Card. + #[serde(rename = "cardIssuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_issuer: Option>, + #[serde(rename = "failureReason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failure_reason: Option>, + /// A human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting. + #[serde(rename = "failureMessage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failure_message: Option>, + #[serde(rename = "wallet", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub wallet: Option>, + /// PayPal's reference for the payment. + #[serde(rename = "paypalReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_reference: Option>, + /// ID of the customer's PayPal account. + #[serde(rename = "paypalPayerId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_payer_id: Option>, + #[serde(rename = "sellerProtection", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub seller_protection: Option>, + /// An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction. + #[serde(rename = "paypalFee", skip_serializing_if = "Option::is_none")] + pub paypal_fee: Option>, + /// The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. + #[serde(rename = "customerReference", skip_serializing_if = "Option::is_none")] + pub customer_reference: Option, + /// The ID of the terminal device where the payment took place on. + #[serde(rename = "terminalId", skip_serializing_if = "Option::is_none")] + pub terminal_id: Option, + /// The first 6 digits & last 4 digits of the customer's masked card number. + #[serde(rename = "maskedNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub masked_number: Option>, + #[serde(rename = "receipt", skip_serializing_if = "Option::is_none")] + pub receipt: Option>, + /// The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie. + #[serde(rename = "creditorIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub creditor_identifier: Option>, + /// Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. + #[serde(rename = "dueDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub due_date: Option>, + /// Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment has been signed. + #[serde(rename = "signatureDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub signature_date: Option>, + /// The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council. + #[serde(rename = "bankReasonCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bank_reason_code: Option>, + /// A human-friendly description of the failure reason. + #[serde(rename = "bankReason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bank_reason: Option>, + /// The end-to-end identifier you provided in the batch file. + #[serde(rename = "endToEndIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub end_to_end_identifier: Option>, + /// The mandate reference you provided in the batch file. + #[serde(rename = "mandateReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option>, + /// The batch reference you provided in the batch file. + #[serde(rename = "batchReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub batch_reference: Option>, + /// The file reference you provided in the batch file. + #[serde(rename = "fileReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub file_reference: Option>, + #[serde(rename = "qrCode", skip_serializing_if = "Option::is_none")] + pub qr_code: Option>, + /// For payments with gift cards: the masked gift card number of the first gift card applied to the payment. + #[serde(rename = "voucherNumber", skip_serializing_if = "Option::is_none")] + pub voucher_number: Option, + /// An array of detail objects for each gift card that was used on this payment, if any. + #[serde(rename = "giftcards", skip_serializing_if = "Option::is_none")] + pub giftcards: Option>>, + /// For payments with vouchers: the brand name of the first voucher applied. + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// An array of detail objects for each voucher that was used on this payment, if any. + #[serde(rename = "vouchers", skip_serializing_if = "Option::is_none")] + pub vouchers: Option>>, + /// An amount object for the amount that remained after all gift cards or vouchers were applied. + #[serde(rename = "remainderAmount", skip_serializing_if = "Option::is_none")] + pub remainder_amount: Option>, + /// The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. + #[serde(rename = "remainderMethod", skip_serializing_if = "Option::is_none")] + pub remainder_method: Option, + /// Optional include. The full payment method details of the remainder payment. + #[serde(rename = "remainderDetails", skip_serializing_if = "Option::is_none")] + pub remainder_details: Option>, +} + +impl EntityPaymentDetails { + /// An object containing payment details collected during the payment process. For example, details may include the customer's card or bank details and a payment reference. For the full list of details, please refer to the [method-specific parameters](extra-payment-parameters) guide. + pub fn new() -> EntityPaymentDetails { + EntityPaymentDetails { + consumer_name: None, + consumer_account: None, + consumer_bic: None, + shipping_address: None, + card_number: None, + bank_name: None, + bank_account: None, + bank_bic: None, + transfer_reference: None, + card_fingerprint: None, + card_holder: None, + card_audition: None, + card_label: None, + card_country_code: None, + card_expiry_date: None, + card_funding: None, + card_security: None, + fee_region: None, + card_masked_number: None, + card3ds_eci: None, + card_bin: None, + card_issuer: None, + failure_reason: None, + failure_message: None, + wallet: None, + paypal_reference: None, + paypal_payer_id: None, + seller_protection: None, + paypal_fee: None, + customer_reference: None, + terminal_id: None, + masked_number: None, + receipt: None, + creditor_identifier: None, + due_date: None, + signature_date: None, + bank_reason_code: None, + bank_reason: None, + end_to_end_identifier: None, + mandate_reference: None, + batch_reference: None, + file_reference: None, + qr_code: None, + voucher_number: None, + giftcards: None, + issuer: None, + vouchers: None, + remainder_amount: None, + remainder_method: None, + remainder_details: None, + } + } +} + diff --git a/src/models/entity_payment_details_qr_code.rs b/src/models/entity_payment_details_qr_code.rs new file mode 100644 index 0000000..1a052f1 --- /dev/null +++ b/src/models/entity_payment_details_qr_code.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentDetailsQrCode : Optional include. If a QR code was requested during payment creation for a QR-compatible payment method, the QR code details will be available in this object. The QR code can be scanned by the customer to complete the payment on their mobile device. For example, Bancontact QR payments can be completed by the customer using the Bancontact app. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentDetailsQrCode { + /// The height of the QR code image in pixels. + #[serde(rename = "height", skip_serializing_if = "Option::is_none")] + pub height: Option, + /// The width of the QR code image in pixels. + #[serde(rename = "width", skip_serializing_if = "Option::is_none")] + pub width: Option, + /// The URL to the QR code image. The image is a PNG file, and can be displayed directly in the browser or downloaded. + #[serde(rename = "src", skip_serializing_if = "Option::is_none")] + pub src: Option, +} + +impl EntityPaymentDetailsQrCode { + /// Optional include. If a QR code was requested during payment creation for a QR-compatible payment method, the QR code details will be available in this object. The QR code can be scanned by the customer to complete the payment on their mobile device. For example, Bancontact QR payments can be completed by the customer using the Bancontact app. + pub fn new() -> EntityPaymentDetailsQrCode { + EntityPaymentDetailsQrCode { + height: None, + width: None, + src: None, + } + } +} + diff --git a/src/models/entity_payment_details_receipt.rs b/src/models/entity_payment_details_receipt.rs new file mode 100644 index 0000000..553c14c --- /dev/null +++ b/src/models/entity_payment_details_receipt.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentDetailsReceipt : The Point of sale receipt object. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentDetailsReceipt { + /// A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. + #[serde(rename = "authorizationCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub authorization_code: Option>, + /// The unique number that identifies a specific payment application on a chip card. + #[serde(rename = "applicationIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub application_identifier: Option>, + #[serde(rename = "cardReadMethod", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_read_method: Option>, + #[serde(rename = "cardVerificationMethod", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_verification_method: Option>, +} + +impl EntityPaymentDetailsReceipt { + /// The Point of sale receipt object. + pub fn new() -> EntityPaymentDetailsReceipt { + EntityPaymentDetailsReceipt { + authorization_code: None, + application_identifier: None, + card_read_method: None, + card_verification_method: None, + } + } +} + diff --git a/src/models/entity_payment_lines_inner.rs b/src/models/entity_payment_lines_inner.rs new file mode 100644 index 0000000..aba7100 --- /dev/null +++ b/src/models/entity_payment_lines_inner.rs @@ -0,0 +1,79 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentLinesInner { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The unit for the quantity. For example *pcs*, *kg*, or *cm*. + #[serde(rename = "quantityUnit", skip_serializing_if = "Option::is_none")] + pub quantity_unit: Option, + /// The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. + #[serde(rename = "discountAmount", skip_serializing_if = "Option::is_none")] + pub discount_amount: Option>, + /// The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + #[serde(rename = "totalAmount")] + pub total_amount: Box, + /// The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. + #[serde(rename = "vatRate", skip_serializing_if = "Option::is_none")] + pub vat_rate: Option, + /// The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. + #[serde(rename = "vatAmount", skip_serializing_if = "Option::is_none")] + pub vat_amount: Option>, + /// The SKU, EAN, ISBN or UPC of the product sold. + #[serde(rename = "sku", skip_serializing_if = "Option::is_none")] + pub sku: Option, + /// An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + #[serde(rename = "categories", skip_serializing_if = "Option::is_none")] + pub categories: Option>, + /// A link pointing to an image of the product sold. + #[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")] + pub image_url: Option, + /// A link pointing to the product page in your web shop of the product sold. + #[serde(rename = "productUrl", skip_serializing_if = "Option::is_none")] + pub product_url: Option, + /// The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout to inform the shopper of the details for recurring products in the payments. + #[serde(rename = "recurring", skip_serializing_if = "Option::is_none")] + pub recurring: Option>, +} + +impl EntityPaymentLinesInner { + pub fn new(description: String, quantity: i32, unit_price: models::Amount, total_amount: models::Amount) -> EntityPaymentLinesInner { + EntityPaymentLinesInner { + r#type: None, + description, + quantity, + quantity_unit: None, + unit_price: Box::new(unit_price), + discount_amount: None, + total_amount: Box::new(total_amount), + vat_rate: None, + vat_amount: None, + sku: None, + categories: None, + image_url: None, + product_url: None, + recurring: None, + } + } +} + diff --git a/src/models/entity_payment_link.rs b/src/models/entity_payment_link.rs new file mode 100644 index 0000000..5fe7fff --- /dev/null +++ b/src/models/entity_payment_link.rs @@ -0,0 +1,112 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentLink { + /// Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. + #[serde(rename = "minimumAmount", skip_serializing_if = "Option::is_none")] + pub minimum_amount: Option>, + /// Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + #[serde(rename = "archived", skip_serializing_if = "Option::is_none")] + pub archived: Option, + /// The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. + #[serde(rename = "redirectUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option>, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option>, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub profile_id: Option>, + /// Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. + #[serde(rename = "reusable", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reusable: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment link became paid, in ISO 8601 format. + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. + #[serde(rename = "expiresAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expires_at: Option>, + /// An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. + #[serde(rename = "allowedMethods", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub allowed_methods: Option>>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + /// **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. + #[serde(rename = "customerId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub customer_id: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityPaymentLink { + pub fn new() -> EntityPaymentLink { + EntityPaymentLink { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + minimum_amount: None, + archived: None, + redirect_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + profile_id: None, + reusable: None, + created_at: None, + paid_at: None, + expires_at: None, + allowed_methods: None, + application_fee: None, + sequence_type: None, + customer_id: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_payment_response.rs b/src/models/entity_payment_response.rs new file mode 100644 index 0000000..6c9d89f --- /dev/null +++ b/src/models/entity_payment_response.rs @@ -0,0 +1,200 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentResponse { + /// Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. + #[serde(rename = "amountRefunded", skip_serializing_if = "Option::is_none")] + pub amount_refunded: Option>, + /// The remaining amount that can be refunded. Only available when refunds are available for this payment. + #[serde(rename = "amountRemaining", skip_serializing_if = "Option::is_none")] + pub amount_remaining: Option>, + /// The total amount that is already captured for this payment. Only available when this payment supports captures. + #[serde(rename = "amountCaptured", skip_serializing_if = "Option::is_none")] + pub amount_captured: Option>, + /// The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. + #[serde(rename = "amountChargedBack", skip_serializing_if = "Option::is_none")] + pub amount_charged_back: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + /// The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. + #[serde(rename = "redirectUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option>, + /// The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. + #[serde(rename = "cancelUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub cancel_url: Option>, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option>, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. + #[serde(rename = "countryCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub country_code: Option>, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + #[serde(rename = "issuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub issuer: Option>, + /// For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + #[serde(rename = "restrictPaymentMethodsToCountry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub restrict_payment_methods_to_country: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "captureMode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_mode: Option>, + /// **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` + #[serde(rename = "captureDelay", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_delay: Option>, + /// Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "captureBefore", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_before: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. + #[serde(rename = "routing", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub routing: Option>>, + /// **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + #[serde(rename = "subscriptionId", skip_serializing_if = "Option::is_none")] + pub subscription_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "orderId", skip_serializing_if = "Option::is_none")] + pub order_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "statusReason", skip_serializing_if = "Option::is_none")] + pub status_reason: Option>, + /// Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + #[serde(rename = "isCancelable", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub is_cancelable: Option>, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "authorizedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub authorized_at: Option>, + /// The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). + #[serde(rename = "canceledAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option>, + /// The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. + #[serde(rename = "expiresAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expires_at: Option>, + /// The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). + #[serde(rename = "expiredAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub expired_at: Option>, + /// The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). + #[serde(rename = "failedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failed_at: Option>, + /// The date by which the payment should be completed in `YYYY-MM-DD` format + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityPaymentResponse { + pub fn new() -> EntityPaymentResponse { + EntityPaymentResponse { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + amount_refunded: None, + amount_remaining: None, + amount_captured: None, + amount_charged_back: None, + settlement_amount: None, + redirect_url: None, + cancel_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + locale: None, + country_code: None, + method: None, + issuer: None, + restrict_payment_methods_to_country: None, + metadata: None, + capture_mode: None, + capture_delay: None, + capture_before: None, + application_fee: None, + routing: None, + sequence_type: None, + subscription_id: None, + mandate_id: None, + customer_id: None, + profile_id: None, + settlement_id: None, + order_id: None, + status: None, + status_reason: None, + is_cancelable: None, + details: None, + created_at: None, + authorized_at: None, + paid_at: None, + canceled_at: None, + expires_at: None, + expired_at: None, + failed_at: None, + due_date: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_payment_response_details.rs b/src/models/entity_payment_response_details.rs new file mode 100644 index 0000000..acf6af7 --- /dev/null +++ b/src/models/entity_payment_response_details.rs @@ -0,0 +1,216 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentResponseDetails : An object containing payment details collected during the payment process. For example, details may include the customer's card or bank details and a payment reference. For the full list of details, please refer to the [method-specific parameters](extra-payment-parameters) guide. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentResponseDetails { + /// The customer's name, if made available by the payment method. For card payments, refer to details.cardHolder. + #[serde(rename = "consumerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option>, + /// The customer's account reference. For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number. For PayPal, the account reference is an email address. For card and Bancontact payments, refer to details.cardNumber. + #[serde(rename = "consumerAccount", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option>, + /// The BIC of the customer's bank account, if applicable. + #[serde(rename = "consumerBic", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option>, + /// For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail. + #[serde(rename = "shippingAddress", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>>, + /// For bancontact, it will be the customer's masked card number. For cards, it will be the last 4-digit of the PAN. For Point-of-sale, it will be the the last 4 digits of the customer's masked card number. + #[serde(rename = "cardNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_number: Option>, + /// The name of the bank that the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankName", skip_serializing_if = "Option::is_none")] + pub bank_name: Option, + /// The bank account number the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")] + pub bank_account: Option, + /// The BIC of the bank the customer will need to make the bank transfer payment towards. + #[serde(rename = "bankBic", skip_serializing_if = "Option::is_none")] + pub bank_bic: Option, + /// The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is. + #[serde(rename = "transferReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub transfer_reference: Option>, + /// A unique fingerprint for a specific card. Can be used to identify returning customers. In the case of Point-of-sale payments, it's a unique identifier assigned to a cardholder's payment account, linking multiple transactions from wallets and physical card to a single account, also across payment methods or when the card is reissued. + #[serde(rename = "cardFingerprint", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_fingerprint: Option>, + /// The customer's name as shown on their card. + #[serde(rename = "cardHolder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_holder: Option>, + #[serde(rename = "cardAudition", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_audition: Option>, + #[serde(rename = "cardLabel", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_label: Option>, + /// The ISO 3166-1 alpha-2 country code of the country the card was issued in. + #[serde(rename = "cardCountryCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_country_code: Option>, + /// The expiry date (MM/YY) of the card as displayed on the card. + #[serde(rename = "cardExpiryDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_expiry_date: Option>, + #[serde(rename = "cardFunding", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_funding: Option>, + #[serde(rename = "cardSecurity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_security: Option>, + #[serde(rename = "feeRegion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub fee_region: Option>, + /// The first 6 and last 4 digits of the card number. + #[serde(rename = "cardMaskedNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_masked_number: Option>, + /// The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for oneoff and first). + #[serde(rename = "card3dsEci", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card3ds_eci: Option>, + /// The first 6 digit of the card bank identification number. + #[serde(rename = "cardBin", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_bin: Option>, + /// The issuer of the Card. + #[serde(rename = "cardIssuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_issuer: Option>, + #[serde(rename = "failureReason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failure_reason: Option>, + /// A human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting. + #[serde(rename = "failureMessage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub failure_message: Option>, + #[serde(rename = "wallet", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub wallet: Option>, + /// PayPal's reference for the payment. + #[serde(rename = "paypalReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_reference: Option>, + /// ID of the customer's PayPal account. + #[serde(rename = "paypalPayerId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paypal_payer_id: Option>, + #[serde(rename = "sellerProtection", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub seller_protection: Option>, + /// An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction. + #[serde(rename = "paypalFee", skip_serializing_if = "Option::is_none")] + pub paypal_fee: Option>, + /// The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie. + #[serde(rename = "customerReference", skip_serializing_if = "Option::is_none")] + pub customer_reference: Option, + /// The ID of the terminal device where the payment took place on. + #[serde(rename = "terminalId", skip_serializing_if = "Option::is_none")] + pub terminal_id: Option, + /// The first 6 digits & last 4 digits of the customer's masked card number. + #[serde(rename = "maskedNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub masked_number: Option>, + #[serde(rename = "receipt", skip_serializing_if = "Option::is_none")] + pub receipt: Option>, + /// The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie. + #[serde(rename = "creditorIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub creditor_identifier: Option>, + /// Estimated date the payment is debited from the customer's bank account, in YYYY-MM-DD format. + #[serde(rename = "dueDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub due_date: Option>, + /// Date the payment has been signed by the customer, in YYYY-MM-DD format. Only available if the payment has been signed. + #[serde(rename = "signatureDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub signature_date: Option>, + /// The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council. + #[serde(rename = "bankReasonCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bank_reason_code: Option>, + /// A human-friendly description of the failure reason. + #[serde(rename = "bankReason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub bank_reason: Option>, + /// The end-to-end identifier you provided in the batch file. + #[serde(rename = "endToEndIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub end_to_end_identifier: Option>, + /// The mandate reference you provided in the batch file. + #[serde(rename = "mandateReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option>, + /// The batch reference you provided in the batch file. + #[serde(rename = "batchReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub batch_reference: Option>, + /// The file reference you provided in the batch file. + #[serde(rename = "fileReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub file_reference: Option>, + #[serde(rename = "qrCode", skip_serializing_if = "Option::is_none")] + pub qr_code: Option>, + /// For payments with gift cards: the masked gift card number of the first gift card applied to the payment. + #[serde(rename = "voucherNumber", skip_serializing_if = "Option::is_none")] + pub voucher_number: Option, + /// An array of detail objects for each gift card that was used on this payment, if any. + #[serde(rename = "giftcards", skip_serializing_if = "Option::is_none")] + pub giftcards: Option>>, + /// For payments with vouchers: the brand name of the first voucher applied. + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// An array of detail objects for each voucher that was used on this payment, if any. + #[serde(rename = "vouchers", skip_serializing_if = "Option::is_none")] + pub vouchers: Option>>, + /// An amount object for the amount that remained after all gift cards or vouchers were applied. + #[serde(rename = "remainderAmount", skip_serializing_if = "Option::is_none")] + pub remainder_amount: Option>, + /// The payment method used to pay the remainder amount, after all gift cards or vouchers were applied. + #[serde(rename = "remainderMethod", skip_serializing_if = "Option::is_none")] + pub remainder_method: Option, + /// Optional include. The full payment method details of the remainder payment. + #[serde(rename = "remainderDetails", skip_serializing_if = "Option::is_none")] + pub remainder_details: Option>, +} + +impl EntityPaymentResponseDetails { + /// An object containing payment details collected during the payment process. For example, details may include the customer's card or bank details and a payment reference. For the full list of details, please refer to the [method-specific parameters](extra-payment-parameters) guide. + pub fn new() -> EntityPaymentResponseDetails { + EntityPaymentResponseDetails { + consumer_name: None, + consumer_account: None, + consumer_bic: None, + shipping_address: None, + card_number: None, + bank_name: None, + bank_account: None, + bank_bic: None, + transfer_reference: None, + card_fingerprint: None, + card_holder: None, + card_audition: None, + card_label: None, + card_country_code: None, + card_expiry_date: None, + card_funding: None, + card_security: None, + fee_region: None, + card_masked_number: None, + card3ds_eci: None, + card_bin: None, + card_issuer: None, + failure_reason: None, + failure_message: None, + wallet: None, + paypal_reference: None, + paypal_payer_id: None, + seller_protection: None, + paypal_fee: None, + customer_reference: None, + terminal_id: None, + masked_number: None, + receipt: None, + creditor_identifier: None, + due_date: None, + signature_date: None, + bank_reason_code: None, + bank_reason: None, + end_to_end_identifier: None, + mandate_reference: None, + batch_reference: None, + file_reference: None, + qr_code: None, + voucher_number: None, + giftcards: None, + issuer: None, + vouchers: None, + remainder_amount: None, + remainder_method: None, + remainder_details: None, + } + } +} + diff --git a/src/models/entity_payment_response_details_receipt.rs b/src/models/entity_payment_response_details_receipt.rs new file mode 100644 index 0000000..1a52716 --- /dev/null +++ b/src/models/entity_payment_response_details_receipt.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentResponseDetailsReceipt : The Point of sale receipt object. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentResponseDetailsReceipt { + /// A unique code provided by the cardholder’s bank to confirm that the transaction was successfully approved. + #[serde(rename = "authorizationCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub authorization_code: Option>, + /// The unique number that identifies a specific payment application on a chip card. + #[serde(rename = "applicationIdentifier", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub application_identifier: Option>, + #[serde(rename = "cardReadMethod", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_read_method: Option>, + #[serde(rename = "cardVerificationMethod", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_verification_method: Option>, +} + +impl EntityPaymentResponseDetailsReceipt { + /// The Point of sale receipt object. + pub fn new() -> EntityPaymentResponseDetailsReceipt { + EntityPaymentResponseDetailsReceipt { + authorization_code: None, + application_identifier: None, + card_read_method: None, + card_verification_method: None, + } + } +} + diff --git a/src/models/entity_payment_response_lines_inner.rs b/src/models/entity_payment_response_lines_inner.rs new file mode 100644 index 0000000..00b62df --- /dev/null +++ b/src/models/entity_payment_response_lines_inner.rs @@ -0,0 +1,79 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentResponseLinesInner { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The unit for the quantity. For example *pcs*, *kg*, or *cm*. + #[serde(rename = "quantityUnit", skip_serializing_if = "Option::is_none")] + pub quantity_unit: Option, + /// The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. + #[serde(rename = "discountAmount", skip_serializing_if = "Option::is_none")] + pub discount_amount: Option>, + /// The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + #[serde(rename = "totalAmount")] + pub total_amount: Box, + /// The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. + #[serde(rename = "vatRate", skip_serializing_if = "Option::is_none")] + pub vat_rate: Option, + /// The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. + #[serde(rename = "vatAmount", skip_serializing_if = "Option::is_none")] + pub vat_amount: Option>, + /// The SKU, EAN, ISBN or UPC of the product sold. + #[serde(rename = "sku", skip_serializing_if = "Option::is_none")] + pub sku: Option, + /// An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + #[serde(rename = "categories", skip_serializing_if = "Option::is_none")] + pub categories: Option>, + /// A link pointing to an image of the product sold. + #[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")] + pub image_url: Option, + /// A link pointing to the product page in your web shop of the product sold. + #[serde(rename = "productUrl", skip_serializing_if = "Option::is_none")] + pub product_url: Option, + /// The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout to inform the shopper of the details for recurring products in the payments. + #[serde(rename = "recurring", skip_serializing_if = "Option::is_none")] + pub recurring: Option>, +} + +impl EntityPaymentResponseLinesInner { + pub fn new(description: String, quantity: i32, unit_price: models::Amount, total_amount: models::Amount) -> EntityPaymentResponseLinesInner { + EntityPaymentResponseLinesInner { + r#type: None, + description, + quantity, + quantity_unit: None, + unit_price: Box::new(unit_price), + discount_amount: None, + total_amount: Box::new(total_amount), + vat_rate: None, + vat_amount: None, + sku: None, + categories: None, + image_url: None, + product_url: None, + recurring: None, + } + } +} + diff --git a/src/models/entity_payment_route.rs b/src/models/entity_payment_route.rs new file mode 100644 index 0000000..6e4fe4f --- /dev/null +++ b/src/models/entity_payment_route.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentRoute { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "destination")] + pub destination: Box, + /// The date and time when the route was created. The date is given in ISO 8601 format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The date must be given in `YYYY-MM-DD` format. If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. + #[serde(rename = "releaseDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub release_date: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityPaymentRoute { + pub fn new(resource: String, id: String, mode: models::Mode, amount: models::Amount, destination: models::EntityPaymentRouteDestination, created_at: String, _links: models::EntityPaymentRouteLinks) -> EntityPaymentRoute { + EntityPaymentRoute { + resource, + id, + mode, + amount: Box::new(amount), + destination: Box::new(destination), + created_at, + release_date: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_payment_route__links.rs b/src/models/entity_payment_route__links.rs new file mode 100644 index 0000000..3b3aaed --- /dev/null +++ b/src/models/entity_payment_route__links.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentRouteLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentRouteLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [payment](get-payment) that belong to this route. + #[serde(rename = "payment")] + pub payment: Box, +} + +impl EntityPaymentRouteLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, payment: models::Url) -> EntityPaymentRouteLinks { + EntityPaymentRouteLinks { + param_self: Box::new(param_self), + payment: Box::new(payment), + } + } +} + diff --git a/src/models/entity_payment_route_destination.rs b/src/models/entity_payment_route_destination.rs new file mode 100644 index 0000000..37917f0 --- /dev/null +++ b/src/models/entity_payment_route_destination.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentRouteDestination : The destination of this portion of the payment. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentRouteDestination { + #[serde(rename = "type")] + pub r#type: models::RouteDestinationType, + #[serde(rename = "organizationId")] + pub organization_id: String, +} + +impl EntityPaymentRouteDestination { + /// The destination of this portion of the payment. + pub fn new(r#type: models::RouteDestinationType, organization_id: String) -> EntityPaymentRouteDestination { + EntityPaymentRouteDestination { + r#type, + organization_id, + } + } +} + diff --git a/src/models/entity_payment_route_response.rs b/src/models/entity_payment_route_response.rs new file mode 100644 index 0000000..8002d6d --- /dev/null +++ b/src/models/entity_payment_route_response.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentRouteResponse { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The portion of the total payment amount being routed. Currently only `EUR` payments can be routed. + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "destination")] + pub destination: Box, + /// The date and time when the route was created. The date is given in ISO 8601 format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The date must be given in `YYYY-MM-DD` format. If no date is given, the funds become available to the connected merchant as soon as the payment succeeds. + #[serde(rename = "releaseDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub release_date: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityPaymentRouteResponse { + pub fn new(resource: String, id: String, mode: models::Mode, amount: models::Amount, destination: models::EntityPaymentRouteResponseDestination, created_at: String, _links: models::EntityPaymentRouteLinks) -> EntityPaymentRouteResponse { + EntityPaymentRouteResponse { + resource, + id, + mode, + amount: Box::new(amount), + destination: Box::new(destination), + created_at, + release_date: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_payment_route_response_destination.rs b/src/models/entity_payment_route_response_destination.rs new file mode 100644 index 0000000..c08b8e2 --- /dev/null +++ b/src/models/entity_payment_route_response_destination.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityPaymentRouteResponseDestination : The destination of this portion of the payment. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPaymentRouteResponseDestination { + #[serde(rename = "type")] + pub r#type: models::RouteDestinationTypeResponse, + #[serde(rename = "organizationId")] + pub organization_id: String, +} + +impl EntityPaymentRouteResponseDestination { + /// The destination of this portion of the payment. + pub fn new(r#type: models::RouteDestinationTypeResponse, organization_id: String) -> EntityPaymentRouteResponseDestination { + EntityPaymentRouteResponseDestination { + r#type, + organization_id, + } + } +} + diff --git a/src/models/entity_permission.rs b/src/models/entity_permission.rs new file mode 100644 index 0000000..11ea497 --- /dev/null +++ b/src/models/entity_permission.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityPermission { + /// Indicates the response contains a permission object. Will always contain the string `permission` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// A short description of what kind of access the permission enables. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Whether this permission is granted to the app by the organization. + #[serde(rename = "granted", skip_serializing_if = "Option::is_none")] + pub granted: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityPermission { + pub fn new() -> EntityPermission { + EntityPermission { + resource: None, + id: None, + description: None, + granted: None, + _links: None, + } + } +} + diff --git a/src/models/entity_profile.rs b/src/models/entity_profile.rs new file mode 100644 index 0000000..f1d47d7 --- /dev/null +++ b/src/models/entity_profile.rs @@ -0,0 +1,76 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityProfile { + /// Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. + #[serde(rename = "website", skip_serializing_if = "Option::is_none")] + pub website: Option, + /// The email address associated with the profile's trade name or brand. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// The phone number associated with the profile's trade name or brand. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// The products or services offered by the profile's website or application. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "countriesOfActivity", skip_serializing_if = "Option::is_none")] + pub countries_of_activity: Option>, + /// The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types#business-category) for all possible options. + #[serde(rename = "businessCategory", skip_serializing_if = "Option::is_none")] + pub business_category: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "review", skip_serializing_if = "Option::is_none")] + pub review: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityProfile { + pub fn new() -> EntityProfile { + EntityProfile { + resource: None, + id: None, + mode: None, + name: None, + website: None, + email: None, + phone: None, + description: None, + countries_of_activity: None, + business_category: None, + status: None, + review: None, + created_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_profile__links.rs b/src/models/entity_profile__links.rs new file mode 100644 index 0000000..6de7d1b --- /dev/null +++ b/src/models/entity_profile__links.rs @@ -0,0 +1,56 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityProfileLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityProfileLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// Link to the profile in the Mollie dashboard. + #[serde(rename = "dashboard", skip_serializing_if = "Option::is_none")] + pub dashboard: Option>, + /// The API resource URL of the chargebacks that belong to this profile. + #[serde(rename = "chargebacks", skip_serializing_if = "Option::is_none")] + pub chargebacks: Option>, + /// The API resource URL of the methods that are enabled for this profile. + #[serde(rename = "methods", skip_serializing_if = "Option::is_none")] + pub methods: Option>, + /// The API resource URL of the payments that belong to this profile. + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, + /// The API resource URL of the refunds that belong to this profile. + #[serde(rename = "refunds", skip_serializing_if = "Option::is_none")] + pub refunds: Option>, + /// The hosted checkout preview URL. You need to be logged in to access this page. + #[serde(rename = "checkoutPreviewUrl", skip_serializing_if = "Option::is_none")] + pub checkout_preview_url: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntityProfileLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntityProfileLinks { + EntityProfileLinks { + param_self: None, + dashboard: None, + chargebacks: None, + methods: None, + payments: None, + refunds: None, + checkout_preview_url: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_profile_response.rs b/src/models/entity_profile_response.rs new file mode 100644 index 0000000..97e2dda --- /dev/null +++ b/src/models/entity_profile_response.rs @@ -0,0 +1,76 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityProfileResponse { + /// Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. + #[serde(rename = "website", skip_serializing_if = "Option::is_none")] + pub website: Option, + /// The email address associated with the profile's trade name or brand. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// The phone number associated with the profile's trade name or brand. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// The products or services offered by the profile's website or application. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "countriesOfActivity", skip_serializing_if = "Option::is_none")] + pub countries_of_activity: Option>, + /// The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types#business-category) for all possible options. + #[serde(rename = "businessCategory", skip_serializing_if = "Option::is_none")] + pub business_category: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "review", skip_serializing_if = "Option::is_none")] + pub review: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityProfileResponse { + pub fn new() -> EntityProfileResponse { + EntityProfileResponse { + resource: None, + id: None, + mode: None, + name: None, + website: None, + email: None, + phone: None, + description: None, + countries_of_activity: None, + business_category: None, + status: None, + review: None, + created_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_profile_response_review.rs b/src/models/entity_profile_response_review.rs new file mode 100644 index 0000000..0ee8f1e --- /dev/null +++ b/src/models/entity_profile_response_review.rs @@ -0,0 +1,29 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityProfileResponseReview : Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved automatically, unless a switch to a live profile has been requested. The review object will therefore usually be `null` in test mode. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityProfileResponseReview { + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl EntityProfileResponseReview { + /// Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved automatically, unless a switch to a live profile has been requested. The review object will therefore usually be `null` in test mode. + pub fn new() -> EntityProfileResponseReview { + EntityProfileResponseReview { + status: None, + } + } +} + diff --git a/src/models/entity_profile_review.rs b/src/models/entity_profile_review.rs new file mode 100644 index 0000000..0b9d257 --- /dev/null +++ b/src/models/entity_profile_review.rs @@ -0,0 +1,29 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityProfileReview : Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved automatically, unless a switch to a live profile has been requested. The review object will therefore usually be `null` in test mode. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityProfileReview { + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, +} + +impl EntityProfileReview { + /// Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved automatically, unless a switch to a live profile has been requested. The review object will therefore usually be `null` in test mode. + pub fn new() -> EntityProfileReview { + EntityProfileReview { + status: None, + } + } +} + diff --git a/src/models/entity_refund.rs b/src/models/entity_refund.rs new file mode 100644 index 0000000..f887fca --- /dev/null +++ b/src/models/entity_refund.rs @@ -0,0 +1,80 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefund { + /// Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The description of the refund that may be shown to your customer, depending on the payment method used. + #[serde(rename = "description")] + pub description: String, + /// The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. + #[serde(rename = "amount")] + pub amount: Box, + /// This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "metadata", deserialize_with = "Option::deserialize")] + pub metadata: Option>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "status")] + pub status: models::RefundStatus, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + #[serde(rename = "externalReference", skip_serializing_if = "Option::is_none")] + pub external_reference: Option>, + /// *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. + #[serde(rename = "reverseRouting", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reverse_routing: Option>, + /// *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. + #[serde(rename = "routingReversals", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub routing_reversals: Option>>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityRefund { + pub fn new(resource: String, id: String, mode: models::Mode, description: String, amount: models::Amount, metadata: Option, status: models::RefundStatus, created_at: String, _links: models::EntityRefundLinks) -> EntityRefund { + EntityRefund { + resource, + id, + mode, + description, + amount: Box::new(amount), + settlement_amount: None, + metadata: if let Some(x) = metadata {Some(Box::new(x))} else {None}, + payment_id: None, + settlement_id: None, + status, + created_at, + external_reference: None, + reverse_routing: None, + routing_reversals: None, + testmode: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_refund__links.rs b/src/models/entity_refund__links.rs new file mode 100644 index 0000000..7fe1be3 --- /dev/null +++ b/src/models/entity_refund__links.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityRefundLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [payment](get-payment) that this refund belongs to. + #[serde(rename = "payment")] + pub payment: Box, + /// The API resource URL of the [settlement](get-settlement) this refund has been settled with. Not present if not yet settled. + #[serde(rename = "settlement", skip_serializing_if = "Option::is_none")] + pub settlement: Option>, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntityRefundLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, payment: models::Url, documentation: models::Url) -> EntityRefundLinks { + EntityRefundLinks { + param_self: Box::new(param_self), + payment: Box::new(payment), + settlement: None, + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_refund_external_reference.rs b/src/models/entity_refund_external_reference.rs new file mode 100644 index 0000000..966c383 --- /dev/null +++ b/src/models/entity_refund_external_reference.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundExternalReference { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// Unique reference from the payment provider + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, +} + +impl EntityRefundExternalReference { + pub fn new() -> EntityRefundExternalReference { + EntityRefundExternalReference { + r#type: None, + id: None, + } + } +} + diff --git a/src/models/entity_refund_response.rs b/src/models/entity_refund_response.rs new file mode 100644 index 0000000..403bc14 --- /dev/null +++ b/src/models/entity_refund_response.rs @@ -0,0 +1,80 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundResponse { + /// Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The description of the refund that may be shown to your customer, depending on the payment method used. + #[serde(rename = "description")] + pub description: String, + /// The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. + #[serde(rename = "amount")] + pub amount: Box, + /// This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "metadata", deserialize_with = "Option::deserialize")] + pub metadata: Option>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "status")] + pub status: models::RefundStatus, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + #[serde(rename = "externalReference", skip_serializing_if = "Option::is_none")] + pub external_reference: Option>, + /// *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. + #[serde(rename = "reverseRouting", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reverse_routing: Option>, + /// *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. + #[serde(rename = "routingReversals", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub routing_reversals: Option>>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityRefundResponse { + pub fn new(resource: String, id: String, mode: models::Mode, description: String, amount: models::Amount, metadata: Option, status: models::RefundStatus, created_at: String, _links: models::EntityRefundLinks) -> EntityRefundResponse { + EntityRefundResponse { + resource, + id, + mode, + description, + amount: Box::new(amount), + settlement_amount: None, + metadata: if let Some(x) = metadata {Some(Box::new(x))} else {None}, + payment_id: None, + settlement_id: None, + status, + created_at, + external_reference: None, + reverse_routing: None, + routing_reversals: None, + testmode: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_refund_response_external_reference.rs b/src/models/entity_refund_response_external_reference.rs new file mode 100644 index 0000000..08d2be0 --- /dev/null +++ b/src/models/entity_refund_response_external_reference.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundResponseExternalReference { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// Unique reference from the payment provider + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, +} + +impl EntityRefundResponseExternalReference { + pub fn new() -> EntityRefundResponseExternalReference { + EntityRefundResponseExternalReference { + r#type: None, + id: None, + } + } +} + diff --git a/src/models/entity_refund_routing_reversals_inner.rs b/src/models/entity_refund_routing_reversals_inner.rs new file mode 100644 index 0000000..0cca05f --- /dev/null +++ b/src/models/entity_refund_routing_reversals_inner.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundRoutingReversalsInner { + /// The amount that will be pulled back. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + #[serde(rename = "source", skip_serializing_if = "Option::is_none")] + pub source: Option>, +} + +impl EntityRefundRoutingReversalsInner { + pub fn new() -> EntityRefundRoutingReversalsInner { + EntityRefundRoutingReversalsInner { + amount: None, + source: None, + } + } +} + diff --git a/src/models/entity_refund_routing_reversals_inner_source.rs b/src/models/entity_refund_routing_reversals_inner_source.rs new file mode 100644 index 0000000..e9bcd31 --- /dev/null +++ b/src/models/entity_refund_routing_reversals_inner_source.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityRefundRoutingReversalsInnerSource : Where the funds will be pulled back from. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRefundRoutingReversalsInnerSource { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + #[serde(rename = "organizationId", skip_serializing_if = "Option::is_none")] + pub organization_id: Option, +} + +impl EntityRefundRoutingReversalsInnerSource { + /// Where the funds will be pulled back from. + pub fn new() -> EntityRefundRoutingReversalsInnerSource { + EntityRefundRoutingReversalsInnerSource { + r#type: None, + organization_id: None, + } + } +} + diff --git a/src/models/entity_route.rs b/src/models/entity_route.rs new file mode 100644 index 0000000..cbd468c --- /dev/null +++ b/src/models/entity_route.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRoute { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + /// The amount of the route. That amount that will be routed to the specified destination. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The description of the route. This description is shown in the reports. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "destination", skip_serializing_if = "Option::is_none")] + pub destination: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntityRoute { + pub fn new() -> EntityRoute { + EntityRoute { + resource: None, + id: None, + payment_id: None, + amount: None, + description: None, + destination: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_route_destination.rs b/src/models/entity_route_destination.rs new file mode 100644 index 0000000..36fc146 --- /dev/null +++ b/src/models/entity_route_destination.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityRouteDestination : The destination of the route. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityRouteDestination { + #[serde(rename = "type")] + pub r#type: models::RouteDestinationTypeResponse, + #[serde(rename = "organizationId")] + pub organization_id: String, +} + +impl EntityRouteDestination { + /// The destination of the route. + pub fn new(r#type: models::RouteDestinationTypeResponse, organization_id: String) -> EntityRouteDestination { + EntityRouteDestination { + r#type, + organization_id, + } + } +} + diff --git a/src/models/entity_sales_invoice.rs b/src/models/entity_sales_invoice.rs new file mode 100644 index 0000000..c761426 --- /dev/null +++ b/src/models/entity_sales_invoice.rs @@ -0,0 +1,133 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySalesInvoice { + /// Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + /// When issued, an invoice number will be set for the sales invoice. + #[serde(rename = "invoiceNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub invoice_number: Option>, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub profile_id: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "vatScheme", skip_serializing_if = "Option::is_none")] + pub vat_scheme: Option, + #[serde(rename = "vatMode", skip_serializing_if = "Option::is_none")] + pub vat_mode: Option, + /// A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + #[serde(rename = "memo", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub memo: Option>, + /// Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>, + #[serde(rename = "paymentTerm", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub payment_term: Option>, + /// Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. + #[serde(rename = "paymentDetails", skip_serializing_if = "Option::is_none")] + pub payment_details: Option>, + /// Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. + #[serde(rename = "emailDetails", skip_serializing_if = "Option::is_none")] + pub email_details: Option>, + /// The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, `customerId` becomes required as well. Only allowed for invoices with status `paid`. + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. + #[serde(rename = "recipientIdentifier", skip_serializing_if = "Option::is_none")] + pub recipient_identifier: Option, + #[serde(rename = "recipient", skip_serializing_if = "Option::is_none")] + pub recipient: Option>, + /// Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The discount to be applied to the entire invoice, applied on top of any line item discounts. + #[serde(rename = "discount", skip_serializing_if = "Option::is_none")] + pub discount: Option>, + /// The amount that is left to be paid. + #[serde(rename = "amountDue", skip_serializing_if = "Option::is_none")] + pub amount_due: Option>, + /// The total amount without VAT before discounts. + #[serde(rename = "subtotalAmount", skip_serializing_if = "Option::is_none")] + pub subtotal_amount: Option>, + /// The total amount with VAT. + #[serde(rename = "totalAmount", skip_serializing_if = "Option::is_none")] + pub total_amount: Option>, + /// The total VAT amount. + #[serde(rename = "totalVatAmount", skip_serializing_if = "Option::is_none")] + pub total_vat_amount: Option>, + /// The total amount without VAT after discounts. + #[serde(rename = "discountedSubtotalAmount", skip_serializing_if = "Option::is_none")] + pub discounted_subtotal_amount: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "issuedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub issued_at: Option>, + /// If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "dueAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub due_at: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntitySalesInvoice { + pub fn new() -> EntitySalesInvoice { + EntitySalesInvoice { + resource: None, + id: None, + testmode: None, + invoice_number: None, + profile_id: None, + status: None, + vat_scheme: None, + vat_mode: None, + memo: None, + metadata: None, + payment_term: None, + payment_details: None, + email_details: None, + customer_id: None, + mandate_id: None, + recipient_identifier: None, + recipient: None, + lines: None, + discount: None, + amount_due: None, + subtotal_amount: None, + total_amount: None, + total_vat_amount: None, + discounted_subtotal_amount: None, + created_at: None, + issued_at: None, + paid_at: None, + due_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_sales_invoice__links.rs b/src/models/entity_sales_invoice__links.rs new file mode 100644 index 0000000..cf37ab0 --- /dev/null +++ b/src/models/entity_sales_invoice__links.rs @@ -0,0 +1,46 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntitySalesInvoiceLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySalesInvoiceLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// The URL your customer should visit to make payment for the invoice. This is where you should redirect the customer to unless the `status` is set to `paid`. + #[serde(rename = "invoicePayment", skip_serializing_if = "Option::is_none")] + pub invoice_payment: Option>, + /// The URL the invoice is available at, if generated. + #[serde(rename = "pdfLink", skip_serializing_if = "Option::is_none")] + pub pdf_link: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, + #[serde(rename = "next", skip_serializing_if = "Option::is_none")] + pub next: Option>, + #[serde(rename = "previous", skip_serializing_if = "Option::is_none")] + pub previous: Option>, +} + +impl EntitySalesInvoiceLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> EntitySalesInvoiceLinks { + EntitySalesInvoiceLinks { + param_self: None, + invoice_payment: None, + pdf_link: None, + documentation: None, + next: None, + previous: None, + } + } +} + diff --git a/src/models/entity_sales_invoice_response.rs b/src/models/entity_sales_invoice_response.rs new file mode 100644 index 0000000..ba74e0b --- /dev/null +++ b/src/models/entity_sales_invoice_response.rs @@ -0,0 +1,133 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySalesInvoiceResponse { + /// Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + /// When issued, an invoice number will be set for the sales invoice. + #[serde(rename = "invoiceNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub invoice_number: Option>, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub profile_id: Option>, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "vatScheme", skip_serializing_if = "Option::is_none")] + pub vat_scheme: Option, + #[serde(rename = "vatMode", skip_serializing_if = "Option::is_none")] + pub vat_mode: Option, + /// A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + #[serde(rename = "memo", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub memo: Option>, + /// Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>, + #[serde(rename = "paymentTerm", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub payment_term: Option>, + /// Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. + #[serde(rename = "paymentDetails", skip_serializing_if = "Option::is_none")] + pub payment_details: Option>, + /// Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. + #[serde(rename = "emailDetails", skip_serializing_if = "Option::is_none")] + pub email_details: Option>, + /// The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`. + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, `customerId` becomes required as well. Only allowed for invoices with status `paid`. + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. + #[serde(rename = "recipientIdentifier", skip_serializing_if = "Option::is_none")] + pub recipient_identifier: Option, + #[serde(rename = "recipient", skip_serializing_if = "Option::is_none")] + pub recipient: Option>, + /// Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The discount to be applied to the entire invoice, applied on top of any line item discounts. + #[serde(rename = "discount", skip_serializing_if = "Option::is_none")] + pub discount: Option>, + /// The amount that is left to be paid. + #[serde(rename = "amountDue", skip_serializing_if = "Option::is_none")] + pub amount_due: Option>, + /// The total amount without VAT before discounts. + #[serde(rename = "subtotalAmount", skip_serializing_if = "Option::is_none")] + pub subtotal_amount: Option>, + /// The total amount with VAT. + #[serde(rename = "totalAmount", skip_serializing_if = "Option::is_none")] + pub total_amount: Option>, + /// The total VAT amount. + #[serde(rename = "totalVatAmount", skip_serializing_if = "Option::is_none")] + pub total_vat_amount: Option>, + /// The total amount without VAT after discounts. + #[serde(rename = "discountedSubtotalAmount", skip_serializing_if = "Option::is_none")] + pub discounted_subtotal_amount: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "issuedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub issued_at: Option>, + /// If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "paidAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub paid_at: Option>, + /// If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "dueAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub due_at: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntitySalesInvoiceResponse { + pub fn new() -> EntitySalesInvoiceResponse { + EntitySalesInvoiceResponse { + resource: None, + id: None, + testmode: None, + invoice_number: None, + profile_id: None, + status: None, + vat_scheme: None, + vat_mode: None, + memo: None, + metadata: None, + payment_term: None, + payment_details: None, + email_details: None, + customer_id: None, + mandate_id: None, + recipient_identifier: None, + recipient: None, + lines: None, + discount: None, + amount_due: None, + subtotal_amount: None, + total_amount: None, + total_vat_amount: None, + discounted_subtotal_amount: None, + created_at: None, + issued_at: None, + paid_at: None, + due_at: None, + _links: None, + } + } +} + diff --git a/src/models/entity_settlement.rs b/src/models/entity_settlement.rs new file mode 100644 index 0000000..9897378 --- /dev/null +++ b/src/models/entity_settlement.rs @@ -0,0 +1,63 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlement { + /// Indicates the response contains a settlement object. Will always contain the string `settlement` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The settlement's bank reference, as found in your Mollie account and on your bank statement. + #[serde(rename = "reference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub reference: Option>, + /// The date on which the settlement was settled, in ISO 8601 format. For an [open settlement](get-open-settlement) or for the [next settlement](get-next-settlement), no settlement date is available. + #[serde(rename = "settledAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub settled_at: Option>, + #[serde(rename = "status")] + pub status: models::SettlementStatus, + /// The total amount of the settlement. + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "balanceId")] + pub balance_id: String, + #[serde(rename = "invoiceId", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, + /// For bookkeeping purposes, the settlement includes an overview of transactions included in the settlement. These transactions are grouped into 'period' objects — one for each calendar month. For example, if a settlement includes funds from 15 April until 4 May, it will include two period objects. One for all transactions processed between 15 April and 30 April, and one for all transactions between 1 May and 4 May. Period objects are grouped by year, and then by month. So in the above example, the full `periods` collection will look as follows: `{\"2024\": {\"04\": {...}, \"05\": {...}}}`. The year and month in this documentation are referred as `` and ``. The example response should give a good idea of what this looks like in practise. + #[serde(rename = "periods", skip_serializing_if = "Option::is_none")] + pub periods: Option>>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntitySettlement { + pub fn new(resource: String, id: String, status: models::SettlementStatus, amount: models::Amount, balance_id: String, _links: models::EntitySettlementLinks) -> EntitySettlement { + EntitySettlement { + resource, + id, + created_at: None, + reference: None, + settled_at: None, + status, + amount: Box::new(amount), + balance_id, + invoice_id: None, + periods: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_settlement__links.rs b/src/models/entity_settlement__links.rs new file mode 100644 index 0000000..bcef03a --- /dev/null +++ b/src/models/entity_settlement__links.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntitySettlementLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlementLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [payments](list-payments) included in this settlement. + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, + /// The API resource URL of the [captures](list-captures) included in this settlement. + #[serde(rename = "captures", skip_serializing_if = "Option::is_none")] + pub captures: Option>, + /// The API resource URL of the [refunds](list-refunds) deducted from this settlement. + #[serde(rename = "refunds", skip_serializing_if = "Option::is_none")] + pub refunds: Option>, + /// The API resource URL of the [chargebacks](list-chargebacks) deducted from this settlement. + #[serde(rename = "chargebacks", skip_serializing_if = "Option::is_none")] + pub chargebacks: Option>, + /// The API resource URL of the [invoice](list-invoices). + #[serde(rename = "invoice", skip_serializing_if = "Option::is_none")] + pub invoice: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl EntitySettlementLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url) -> EntitySettlementLinks { + EntitySettlementLinks { + param_self: Box::new(param_self), + payments: None, + captures: None, + refunds: None, + chargebacks: None, + invoice: None, + documentation: None, + } + } +} + diff --git a/src/models/entity_settlement_periods_value_value.rs b/src/models/entity_settlement_periods_value_value.rs new file mode 100644 index 0000000..6343e16 --- /dev/null +++ b/src/models/entity_settlement_periods_value_value.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlementPeriodsValueValue { + /// An array of cost objects, describing the fees withheld for each payment method during this period. + #[serde(rename = "costs", skip_serializing_if = "Option::is_none")] + pub costs: Option>, + /// An array of revenue objects containing the total revenue for each payment method during this period. + #[serde(rename = "revenue", skip_serializing_if = "Option::is_none")] + pub revenue: Option>, + #[serde(rename = "invoiceId", skip_serializing_if = "Option::is_none")] + pub invoice_id: Option, + /// The invoice reference, if the invoice has been created already. + #[serde(rename = "invoiceReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub invoice_reference: Option>, +} + +impl EntitySettlementPeriodsValueValue { + pub fn new() -> EntitySettlementPeriodsValueValue { + EntitySettlementPeriodsValueValue { + costs: None, + revenue: None, + invoice_id: None, + invoice_reference: None, + } + } +} + diff --git a/src/models/entity_settlement_periods_value_value_costs_inner.rs b/src/models/entity_settlement_periods_value_value_costs_inner.rs new file mode 100644 index 0000000..e0d6b9b --- /dev/null +++ b/src/models/entity_settlement_periods_value_value_costs_inner.rs @@ -0,0 +1,50 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlementPeriodsValueValueCostsInner { + /// A description of the cost subtotal + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "method", deserialize_with = "Option::deserialize")] + pub method: Option, + /// The number of fees + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "rate")] + pub rate: Box, + /// The net total cost, i.e. excluding VAT + #[serde(rename = "amountNet")] + pub amount_net: Box, + /// The applicable VAT + #[serde(rename = "amountVat")] + pub amount_vat: Box, + /// The gross total cost, i.e. including VAT + #[serde(rename = "amountGross")] + pub amount_gross: Box, +} + +impl EntitySettlementPeriodsValueValueCostsInner { + pub fn new(description: String, method: Option, count: i32, rate: models::EntitySettlementPeriodsValueValueCostsInnerRate, amount_net: models::Amount, amount_vat: models::AmountNullable, amount_gross: models::Amount) -> EntitySettlementPeriodsValueValueCostsInner { + EntitySettlementPeriodsValueValueCostsInner { + description, + method, + count, + rate: Box::new(rate), + amount_net: Box::new(amount_net), + amount_vat: Box::new(amount_vat), + amount_gross: Box::new(amount_gross), + } + } +} + diff --git a/src/models/entity_settlement_periods_value_value_costs_inner_rate.rs b/src/models/entity_settlement_periods_value_value_costs_inner_rate.rs new file mode 100644 index 0000000..8317960 --- /dev/null +++ b/src/models/entity_settlement_periods_value_value_costs_inner_rate.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntitySettlementPeriodsValueValueCostsInnerRate : The service rates, further divided into `fixed` and `percentage` costs. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlementPeriodsValueValueCostsInnerRate { + #[serde(rename = "fixed", skip_serializing_if = "Option::is_none")] + pub fixed: Option>, + #[serde(rename = "percentage", skip_serializing_if = "Option::is_none")] + pub percentage: Option, +} + +impl EntitySettlementPeriodsValueValueCostsInnerRate { + /// The service rates, further divided into `fixed` and `percentage` costs. + pub fn new() -> EntitySettlementPeriodsValueValueCostsInnerRate { + EntitySettlementPeriodsValueValueCostsInnerRate { + fixed: None, + percentage: None, + } + } +} + diff --git a/src/models/entity_settlement_periods_value_value_revenue_inner.rs b/src/models/entity_settlement_periods_value_value_revenue_inner.rs new file mode 100644 index 0000000..fab850d --- /dev/null +++ b/src/models/entity_settlement_periods_value_value_revenue_inner.rs @@ -0,0 +1,47 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySettlementPeriodsValueValueRevenueInner { + /// A description of the revenue subtotal + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "method", deserialize_with = "Option::deserialize")] + pub method: Option, + /// The number of payments + #[serde(rename = "count")] + pub count: i32, + /// The net total of received funds, i.e. excluding VAT + #[serde(rename = "amountNet")] + pub amount_net: Box, + /// The applicable VAT + #[serde(rename = "amountVat")] + pub amount_vat: Box, + /// The gross total of received funds, i.e. including VAT + #[serde(rename = "amountGross")] + pub amount_gross: Box, +} + +impl EntitySettlementPeriodsValueValueRevenueInner { + pub fn new(description: String, method: Option, count: i32, amount_net: models::Amount, amount_vat: models::AmountNullable, amount_gross: models::Amount) -> EntitySettlementPeriodsValueValueRevenueInner { + EntitySettlementPeriodsValueValueRevenueInner { + description, + method, + count, + amount_net: Box::new(amount_net), + amount_vat: Box::new(amount_vat), + amount_gross: Box::new(amount_gross), + } + } +} + diff --git a/src/models/entity_subscription.rs b/src/models/entity_subscription.rs new file mode 100644 index 0000000..1c39b1b --- /dev/null +++ b/src/models/entity_subscription.rs @@ -0,0 +1,100 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySubscription { + /// Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. + #[serde(rename = "times", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub times: Option>, + /// Number of payments left for the subscription. + #[serde(rename = "timesRemaining", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub times_remaining: Option>, + /// Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. + #[serde(rename = "interval", skip_serializing_if = "Option::is_none")] + pub interval: Option, + /// The start date of the subscription in `YYYY-MM-DD` format. + #[serde(rename = "startDate", skip_serializing_if = "Option::is_none")] + pub start_date: Option, + /// The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. + #[serde(rename = "nextPaymentDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub next_payment_date: Option>, + /// The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). + #[serde(rename = "canceledAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl EntitySubscription { + pub fn new() -> EntitySubscription { + EntitySubscription { + resource: None, + id: None, + mode: None, + status: None, + amount: None, + times: None, + times_remaining: None, + interval: None, + start_date: None, + next_payment_date: None, + description: None, + method: None, + application_fee: None, + metadata: None, + webhook_url: None, + customer_id: None, + mandate_id: None, + created_at: None, + canceled_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/entity_subscription__links.rs b/src/models/entity_subscription__links.rs new file mode 100644 index 0000000..5c7ca92 --- /dev/null +++ b/src/models/entity_subscription__links.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntitySubscriptionLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySubscriptionLinks { + #[serde(rename = "self")] + pub param_self: Box, + /// The API resource URL of the [customer](get-customer) this subscription was created for. + #[serde(rename = "customer")] + pub customer: Box, + /// The API resource URL of the [mandate](get-mandate) this subscription was created for. + #[serde(rename = "mandate", skip_serializing_if = "Option::is_none")] + pub mandate: Option>, + /// The API resource URL of the [profile](get-profile) this subscription was created for. + #[serde(rename = "profile")] + pub profile: Box, + /// The API resource URL of the [payments](list-payments) created for this subscription. Omitted if no such payments exist (yet). + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntitySubscriptionLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, customer: models::UrlNullable, profile: models::UrlNullable, documentation: models::Url) -> EntitySubscriptionLinks { + EntitySubscriptionLinks { + param_self: Box::new(param_self), + customer: Box::new(customer), + mandate: None, + profile: Box::new(profile), + payments: None, + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_subscription_application_fee.rs b/src/models/entity_subscription_application_fee.rs new file mode 100644 index 0000000..b8820df --- /dev/null +++ b/src/models/entity_subscription_application_fee.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntitySubscriptionApplicationFee : With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. Setting an application fee on the subscription will ensure this fee is charged on each individual payment. Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more information. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntitySubscriptionApplicationFee { + #[serde(rename = "amount")] + pub amount: Box, + #[serde(rename = "description")] + pub description: String, +} + +impl EntitySubscriptionApplicationFee { + /// With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. Setting an application fee on the subscription will ensure this fee is charged on each individual payment. Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more information. + pub fn new(amount: models::Amount, description: String) -> EntitySubscriptionApplicationFee { + EntitySubscriptionApplicationFee { + amount: Box::new(amount), + description, + } + } +} + diff --git a/src/models/entity_terminal.rs b/src/models/entity_terminal.rs new file mode 100644 index 0000000..cfd1d32 --- /dev/null +++ b/src/models/entity_terminal.rs @@ -0,0 +1,70 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityTerminal { + /// Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it may be visible on the device itself depending on the device. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "status")] + pub status: models::TerminalStatus, + #[serde(rename = "brand", deserialize_with = "Option::deserialize")] + pub brand: Option, + #[serde(rename = "model", deserialize_with = "Option::deserialize")] + pub model: Option, + /// The serial number of the terminal. The serial number is provided at terminal creation time. + #[serde(rename = "serialNumber", deserialize_with = "Option::deserialize")] + pub serial_number: Option, + /// The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a specific currency, chosen during setup. + #[serde(rename = "currency")] + pub currency: String, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId")] + pub profile_id: String, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "updatedAt")] + pub updated_at: String, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityTerminal { + pub fn new(resource: String, id: String, mode: models::Mode, description: String, status: models::TerminalStatus, brand: Option, model: Option, serial_number: Option, currency: String, profile_id: String, created_at: String, updated_at: String, _links: models::EntityWebhookLinks) -> EntityTerminal { + EntityTerminal { + resource, + id, + mode, + description, + status, + brand, + model, + serial_number, + currency, + profile_id, + created_at, + updated_at, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_webhook.rs b/src/models/entity_webhook.rs new file mode 100644 index 0000000..63040b4 --- /dev/null +++ b/src/models/entity_webhook.rs @@ -0,0 +1,61 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityWebhook { + /// Indicates the response contains a webhook subscription object. Will always contain the string `webhook` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The identifier uniquely referring to this subscription. + #[serde(rename = "id")] + pub id: String, + /// The subscription's events destination. + #[serde(rename = "url")] + pub url: String, + /// The identifier uniquely referring to the profile that created the subscription. + #[serde(rename = "profileId", deserialize_with = "Option::deserialize")] + pub profile_id: Option, + /// The subscription's date time of creation. + #[serde(rename = "createdAt")] + pub created_at: String, + /// The subscription's name. + #[serde(rename = "name")] + pub name: String, + /// The events types that are subscribed. + #[serde(rename = "eventTypes")] + pub event_types: Vec, + #[serde(rename = "status")] + pub status: models::WebhookStatus, + #[serde(rename = "mode")] + pub mode: models::Mode, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityWebhook { + pub fn new(resource: String, id: String, url: String, profile_id: Option, created_at: String, name: String, event_types: Vec, status: models::WebhookStatus, mode: models::Mode, _links: models::EntityWebhookLinks) -> EntityWebhook { + EntityWebhook { + resource, + id, + url, + profile_id, + created_at, + name, + event_types, + status, + mode, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_webhook__links.rs b/src/models/entity_webhook__links.rs new file mode 100644 index 0000000..f8ab30a --- /dev/null +++ b/src/models/entity_webhook__links.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityWebhookLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityWebhookLinks { + #[serde(rename = "self")] + pub param_self: Box, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl EntityWebhookLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, documentation: models::Url) -> EntityWebhookLinks { + EntityWebhookLinks { + param_self: Box::new(param_self), + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/entity_webhook_event.rs b/src/models/entity_webhook_event.rs new file mode 100644 index 0000000..00fdb8d --- /dev/null +++ b/src/models/entity_webhook_event.rs @@ -0,0 +1,49 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityWebhookEvent { + /// Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The identifier uniquely referring to this event. + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "type")] + pub r#type: models::WebhookEventTypesResponse, + /// The entity token that triggered the event + #[serde(rename = "entityId")] + pub entity_id: String, + /// The event's date time of creation. + #[serde(rename = "createdAt")] + pub created_at: String, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl EntityWebhookEvent { + pub fn new(resource: String, id: String, r#type: models::WebhookEventTypesResponse, entity_id: String, created_at: String, _links: models::EntityWebhookEventLinks) -> EntityWebhookEvent { + EntityWebhookEvent { + resource, + id, + r#type, + entity_id, + created_at, + _embedded: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/entity_webhook_event__embedded.rs b/src/models/entity_webhook_event__embedded.rs new file mode 100644 index 0000000..dd111c2 --- /dev/null +++ b/src/models/entity_webhook_event__embedded.rs @@ -0,0 +1,29 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityWebhookEventEmbedded : Full payload of the event. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityWebhookEventEmbedded { + #[serde(rename = "entity", skip_serializing_if = "Option::is_none")] + pub entity: Option>, +} + +impl EntityWebhookEventEmbedded { + /// Full payload of the event. + pub fn new() -> EntityWebhookEventEmbedded { + EntityWebhookEventEmbedded { + entity: None, + } + } +} + diff --git a/src/models/entity_webhook_event__embedded_entity.rs b/src/models/entity_webhook_event__embedded_entity.rs new file mode 100644 index 0000000..dbb8a75 --- /dev/null +++ b/src/models/entity_webhook_event__embedded_entity.rs @@ -0,0 +1,26 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum EntityWebhookEventEmbeddedEntity { + PaymentLinkResponse(Box), + EntityProfileResponse(Box), +} + +impl Default for EntityWebhookEventEmbeddedEntity { + fn default() -> Self { + Self::PaymentLinkResponse(Default::default()) + } +} + diff --git a/src/models/entity_webhook_event__links.rs b/src/models/entity_webhook_event__links.rs new file mode 100644 index 0000000..49a211d --- /dev/null +++ b/src/models/entity_webhook_event__links.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// EntityWebhookEventLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct EntityWebhookEventLinks { + #[serde(rename = "self")] + pub param_self: Box, + #[serde(rename = "documentation")] + pub documentation: Box, + /// The API resource URL of the entity that this event belongs to. + #[serde(rename = "entity", skip_serializing_if = "Option::is_none")] + pub entity: Option>, +} + +impl EntityWebhookEventLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, documentation: models::Url) -> EntityWebhookEventLinks { + EntityWebhookEventLinks { + param_self: Box::new(param_self), + documentation: Box::new(documentation), + entity: None, + } + } +} + diff --git a/src/models/error_response.rs b/src/models/error_response.rs new file mode 100644 index 0000000..3dceff8 --- /dev/null +++ b/src/models/error_response.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ErrorResponse : An error response object. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorResponse { + /// The status code of the error message. This is always the same code as the status code of the HTTP message itself. + #[serde(rename = "status")] + pub status: i32, + /// The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`. + #[serde(rename = "title")] + pub title: String, + /// A detailed human-readable description of the error that occurred. + #[serde(rename = "detail")] + pub detail: String, + /// If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue. + #[serde(rename = "field", skip_serializing_if = "Option::is_none")] + pub field: Option, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ErrorResponse { + /// An error response object. + pub fn new(status: i32, title: String, detail: String, _links: models::ErrorResponseLinks) -> ErrorResponse { + ErrorResponse { + status, + title, + detail, + field: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/error_response__links.rs b/src/models/error_response__links.rs new file mode 100644 index 0000000..f46a027 --- /dev/null +++ b/src/models/error_response__links.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorResponseLinks { + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl ErrorResponseLinks { + pub fn new(documentation: models::ErrorResponseLinksDocumentation) -> ErrorResponseLinks { + ErrorResponseLinks { + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/error_response__links_documentation.rs b/src/models/error_response__links_documentation.rs new file mode 100644 index 0000000..c46cad0 --- /dev/null +++ b/src/models/error_response__links_documentation.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ErrorResponseLinksDocumentation : The URL to the generic Mollie API error handling guide. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ErrorResponseLinksDocumentation { + #[serde(rename = "href")] + pub href: String, + #[serde(rename = "type")] + pub r#type: String, +} + +impl ErrorResponseLinksDocumentation { + /// The URL to the generic Mollie API error handling guide. + pub fn new(href: String, r#type: String) -> ErrorResponseLinksDocumentation { + ErrorResponseLinksDocumentation { + href, + r#type, + } + } +} + diff --git a/src/models/extra_parameter_parameters.rs b/src/models/extra_parameter_parameters.rs new file mode 100644 index 0000000..fa95de0 --- /dev/null +++ b/src/models/extra_parameter_parameters.rs @@ -0,0 +1,67 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraParameterParameters { + /// The Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. The token contains the payment information needed to authorize the payment. The object should be passed encoded in a JSON string. + #[serde(rename = "applePayPaymentToken", skip_serializing_if = "Option::is_none")] + pub apple_pay_payment_token: Option, + #[serde(rename = "company", skip_serializing_if = "Option::is_none")] + pub company: Option>, + /// When creating credit card payments using Mollie Components, you need to provide the card token you received from the card component in this field. The token represents the customer's card information needed to complete the payment. Note: field only valid for oneoff and first payments. For recurring payments, the customerId alone is enough. + #[serde(rename = "cardToken", skip_serializing_if = "Option::is_none")] + pub card_token: Option, + /// The card token you received from the card component of Mollie Components. The token represents the customer's card information needed to complete the payment. + #[serde(rename = "voucherNumber", skip_serializing_if = "Option::is_none")] + pub voucher_number: Option, + /// The PIN on the gift card. You can supply this to prefill the PIN, if the card has any. + #[serde(rename = "voucherPin", skip_serializing_if = "Option::is_none")] + pub voucher_pin: Option, + /// The customer's date of birth. If not provided via the API, iDeal in3 will ask the customer to provide it during the payment process. + #[serde(rename = "consumerDateOfBirth", skip_serializing_if = "Option::is_none")] + pub consumer_date_of_birth: Option, + /// For some industries, additional purchase information can be sent to Klarna to increase the authorization rate. You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation. + #[serde(rename = "extraMerchantData", skip_serializing_if = "Option::is_none")] + pub extra_merchant_data: Option>, + /// The unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an on-demand payment. + #[serde(rename = "sessionId", skip_serializing_if = "Option::is_none")] + pub session_id: Option, + /// Indicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information. + #[serde(rename = "digitalGoods", skip_serializing_if = "Option::is_none")] + pub digital_goods: Option, + /// Used by paysafecard for customer identification across payments. When you generate a customer reference yourself, make sure not to put personal identifiable information or IP addresses in the customer reference directly. + #[serde(rename = "customerReference", skip_serializing_if = "Option::is_none")] + pub customer_reference: Option, + /// The ID of the terminal device where you want to initiate the payment on. + #[serde(rename = "terminalId", skip_serializing_if = "Option::is_none")] + pub terminal_id: Option, +} + +impl ExtraParameterParameters { + pub fn new() -> ExtraParameterParameters { + ExtraParameterParameters { + apple_pay_payment_token: None, + company: None, + card_token: None, + voucher_number: None, + voucher_pin: None, + consumer_date_of_birth: None, + extra_merchant_data: None, + session_id: None, + digital_goods: None, + customer_reference: None, + terminal_id: None, + } + } +} + diff --git a/src/models/extra_parameter_parameters_company.rs b/src/models/extra_parameter_parameters_company.rs new file mode 100644 index 0000000..c1cb556 --- /dev/null +++ b/src/models/extra_parameter_parameters_company.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ExtraParameterParametersCompany : Billie is a business-to-business (B2B) payment method. It requires extra information to identify the organization that is completing the payment. It is recommended to include these parameters up front for a seamless flow. Otherwise, Billie will ask the customer to complete the missing fields during checkout. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ExtraParameterParametersCompany { + /// The organization's registration number. + #[serde(rename = "registrationNumber", skip_serializing_if = "Option::is_none")] + pub registration_number: Option, + /// The organization's VAT number. + #[serde(rename = "vatNumber", skip_serializing_if = "Option::is_none")] + pub vat_number: Option, + /// The organization's entity type. + #[serde(rename = "entityType", skip_serializing_if = "Option::is_none")] + pub entity_type: Option, +} + +impl ExtraParameterParametersCompany { + /// Billie is a business-to-business (B2B) payment method. It requires extra information to identify the organization that is completing the payment. It is recommended to include these parameters up front for a seamless flow. Otherwise, Billie will ask the customer to complete the missing fields during checkout. + pub fn new() -> ExtraParameterParametersCompany { + ExtraParameterParametersCompany { + registration_number: None, + vat_number: None, + entity_type: None, + } + } +} + diff --git a/src/models/get_customer_200_response.rs b/src/models/get_customer_200_response.rs new file mode 100644 index 0000000..0ab6a07 --- /dev/null +++ b/src/models/get_customer_200_response.rs @@ -0,0 +1,63 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GetCustomer200Response { + /// Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The full name of the customer. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The email address of the customer. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, + #[serde(rename = "events", skip_serializing_if = "Option::is_none")] + pub events: Option>, +} + +impl GetCustomer200Response { + pub fn new() -> GetCustomer200Response { + GetCustomer200Response { + resource: None, + id: None, + mode: None, + name: None, + email: None, + locale: None, + metadata: None, + created_at: None, + testmode: None, + _links: None, + events: None, + } + } +} + diff --git a/src/models/get_partner_status_200_response.rs b/src/models/get_partner_status_200_response.rs new file mode 100644 index 0000000..2f7d223 --- /dev/null +++ b/src/models/get_partner_status_200_response.rs @@ -0,0 +1,71 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GetPartnerStatus200Response { + /// Indicates the response contains a partner status object. Will always contain the string `partner` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// Indicates the type of partner. Will be `null` if the currently authenticated organization is not enrolled as a partner. + #[serde(rename = "partnerType", deserialize_with = "Option::deserialize")] + pub partner_type: Option, + /// Whether the current organization is receiving commissions. + #[serde(rename = "isCommissionPartner", skip_serializing_if = "Option::is_none")] + pub is_commission_partner: Option, + /// Array of User-Agent token objects. Present if the organization is a partner of type `useragent`, or if they were in the past. + #[serde(rename = "userAgentTokens", skip_serializing_if = "Option::is_none")] + pub user_agent_tokens: Option>, + /// The date the partner contract was signed, in ISO 8601 format. Omitted if no contract has been signed (yet). + #[serde(rename = "partnerContractSignedAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub partner_contract_signed_at: Option>, + /// Whether an update to the partner contract is available and requiring the organization's agreement. + #[serde(rename = "partnerContractUpdateAvailable", skip_serializing_if = "Option::is_none")] + pub partner_contract_update_available: Option, + /// The expiration date of the signed partner contract, in ISO 8601 format. Omitted if contract has no expiration date (yet). + #[serde(rename = "partnerContractExpiresAt", skip_serializing_if = "Option::is_none")] + pub partner_contract_expires_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl GetPartnerStatus200Response { + pub fn new(resource: String, partner_type: Option) -> GetPartnerStatus200Response { + GetPartnerStatus200Response { + resource, + partner_type, + is_commission_partner: None, + user_agent_tokens: None, + partner_contract_signed_at: None, + partner_contract_update_available: None, + partner_contract_expires_at: None, + _links: None, + } + } +} +/// Indicates the type of partner. Will be `null` if the currently authenticated organization is not enrolled as a partner. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PartnerType { + #[serde(rename = "oauth")] + Oauth, + #[serde(rename = "signuplink")] + Signuplink, + #[serde(rename = "useragent")] + Useragent, +} + +impl Default for PartnerType { + fn default() -> PartnerType { + Self::Oauth + } +} + diff --git a/src/models/get_partner_status_200_response__links.rs b/src/models/get_partner_status_200_response__links.rs new file mode 100644 index 0000000..d8d8464 --- /dev/null +++ b/src/models/get_partner_status_200_response__links.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// GetPartnerStatus200ResponseLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GetPartnerStatus200ResponseLinks { + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + /// The URL that can be used to have new organizations sign up and be automatically linked to this partner. Will be omitted if the partner is not of type `signuplink`. + #[serde(rename = "signuplink", skip_serializing_if = "Option::is_none")] + pub signuplink: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl GetPartnerStatus200ResponseLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> GetPartnerStatus200ResponseLinks { + GetPartnerStatus200ResponseLinks { + param_self: None, + signuplink: None, + documentation: None, + } + } +} + diff --git a/src/models/get_partner_status_200_response_user_agent_tokens_inner.rs b/src/models/get_partner_status_200_response_user_agent_tokens_inner.rs new file mode 100644 index 0000000..5438066 --- /dev/null +++ b/src/models/get_partner_status_200_response_user_agent_tokens_inner.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct GetPartnerStatus200ResponseUserAgentTokensInner { + /// The unique User-Agent token. + #[serde(rename = "token", skip_serializing_if = "Option::is_none")] + pub token: Option, + /// The date from which the token is active, in ISO 8601 format. + #[serde(rename = "startsAt", skip_serializing_if = "Option::is_none")] + pub starts_at: Option, + /// The date until when the token will be active, in ISO 8601 format. Will be `null` if the token does not have an end date (yet). + #[serde(rename = "endsAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub ends_at: Option>, +} + +impl GetPartnerStatus200ResponseUserAgentTokensInner { + pub fn new() -> GetPartnerStatus200ResponseUserAgentTokensInner { + GetPartnerStatus200ResponseUserAgentTokensInner { + token: None, + starts_at: None, + ends_at: None, + } + } +} + diff --git a/src/models/giftcard.rs b/src/models/giftcard.rs new file mode 100644 index 0000000..2509699 --- /dev/null +++ b/src/models/giftcard.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Giftcard { + /// Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The unique identifier of the payment method issuer. + #[serde(rename = "id")] + pub id: String, + /// The full name of the payment method issuer. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "status")] + pub status: models::MethodIssuerStatus, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl Giftcard { + pub fn new(resource: String, id: String, description: String, status: models::MethodIssuerStatus, _links: models::EntityBalanceLinks) -> Giftcard { + Giftcard { + resource, + id, + description, + status, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/invoice_status.rs b/src/models/invoice_status.rs new file mode 100644 index 0000000..b2f5c3a --- /dev/null +++ b/src/models/invoice_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// InvoiceStatus : Status of the invoice. +/// Status of the invoice. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum InvoiceStatus { + #[serde(rename = "open")] + Open, + #[serde(rename = "paid")] + Paid, + #[serde(rename = "overdue")] + Overdue, + +} + +impl std::fmt::Display for InvoiceStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Open => write!(f, "open"), + Self::Paid => write!(f, "paid"), + Self::Overdue => write!(f, "overdue"), + } + } +} + +impl Default for InvoiceStatus { + fn default() -> InvoiceStatus { + Self::Open + } +} + diff --git a/src/models/line_categories.rs b/src/models/line_categories.rs new file mode 100644 index 0000000..a150eec --- /dev/null +++ b/src/models/line_categories.rs @@ -0,0 +1,50 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LineCategories { + #[serde(rename = "eco")] + Eco, + #[serde(rename = "gift")] + Gift, + #[serde(rename = "meal")] + Meal, + #[serde(rename = "sport_culture")] + SportCulture, + #[serde(rename = "additional")] + Additional, + #[serde(rename = "consume")] + Consume, + +} + +impl std::fmt::Display for LineCategories { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Eco => write!(f, "eco"), + Self::Gift => write!(f, "gift"), + Self::Meal => write!(f, "meal"), + Self::SportCulture => write!(f, "sport_culture"), + Self::Additional => write!(f, "additional"), + Self::Consume => write!(f, "consume"), + } + } +} + +impl Default for LineCategories { + fn default() -> LineCategories { + Self::Eco + } +} + diff --git a/src/models/line_categories_response.rs b/src/models/line_categories_response.rs new file mode 100644 index 0000000..b7fef05 --- /dev/null +++ b/src/models/line_categories_response.rs @@ -0,0 +1,50 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LineCategoriesResponse { + #[serde(rename = "eco")] + Eco, + #[serde(rename = "gift")] + Gift, + #[serde(rename = "meal")] + Meal, + #[serde(rename = "sport_culture")] + SportCulture, + #[serde(rename = "additional")] + Additional, + #[serde(rename = "consume")] + Consume, + +} + +impl std::fmt::Display for LineCategoriesResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Eco => write!(f, "eco"), + Self::Gift => write!(f, "gift"), + Self::Meal => write!(f, "meal"), + Self::SportCulture => write!(f, "sport_culture"), + Self::Additional => write!(f, "additional"), + Self::Consume => write!(f, "consume"), + } + } +} + +impl Default for LineCategoriesResponse { + fn default() -> LineCategoriesResponse { + Self::Eco + } +} + diff --git a/src/models/list_all_methods_200_response.rs b/src/models/list_all_methods_200_response.rs new file mode 100644 index 0000000..e439ecb --- /dev/null +++ b/src/models/list_all_methods_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListAllMethods200Response { + /// The number of payment method objects in this result set. Results are **not** paginated. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListAllMethods200Response { + pub fn new(count: i32, _embedded: models::ListAllMethods200ResponseEmbedded, _links: models::ListMethods200ResponseLinks) -> ListAllMethods200Response { + ListAllMethods200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_all_methods_200_response__embedded.rs b/src/models/list_all_methods_200_response__embedded.rs new file mode 100644 index 0000000..b89a5dd --- /dev/null +++ b/src/models/list_all_methods_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListAllMethods200ResponseEmbedded { + /// An array of payment method objects. For a complete reference of the payment method object, refer to the [Get payment method endpoint](get-method) documentation. + #[serde(rename = "methods")] + pub methods: Vec, +} + +impl ListAllMethods200ResponseEmbedded { + pub fn new(methods: Vec) -> ListAllMethods200ResponseEmbedded { + ListAllMethods200ResponseEmbedded { + methods, + } + } +} + diff --git a/src/models/list_all_subscriptions_200_response.rs b/src/models/list_all_subscriptions_200_response.rs new file mode 100644 index 0000000..9541576 --- /dev/null +++ b/src/models/list_all_subscriptions_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListAllSubscriptions200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListAllSubscriptions200Response { + pub fn new(count: i32, _embedded: models::ListAllSubscriptions200ResponseEmbedded, _links: models::ListLinks) -> ListAllSubscriptions200Response { + ListAllSubscriptions200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_all_subscriptions_200_response__embedded.rs b/src/models/list_all_subscriptions_200_response__embedded.rs new file mode 100644 index 0000000..260ce16 --- /dev/null +++ b/src/models/list_all_subscriptions_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListAllSubscriptions200ResponseEmbedded { + /// A list of subscription objects. + #[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")] + pub subscriptions: Option>, +} + +impl ListAllSubscriptions200ResponseEmbedded { + pub fn new() -> ListAllSubscriptions200ResponseEmbedded { + ListAllSubscriptions200ResponseEmbedded { + subscriptions: None, + } + } +} + diff --git a/src/models/list_balance_transactions_200_response.rs b/src/models/list_balance_transactions_200_response.rs new file mode 100644 index 0000000..7676c97 --- /dev/null +++ b/src/models/list_balance_transactions_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListBalanceTransactions200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListBalanceTransactions200Response { + pub fn new() -> ListBalanceTransactions200Response { + ListBalanceTransactions200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_balance_transactions_200_response__embedded.rs b/src/models/list_balance_transactions_200_response__embedded.rs new file mode 100644 index 0000000..13b21cf --- /dev/null +++ b/src/models/list_balance_transactions_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListBalanceTransactions200ResponseEmbedded { + /// An array of balance transaction objects. + #[serde(rename = "balance_transactions", skip_serializing_if = "Option::is_none")] + pub balance_transactions: Option>, +} + +impl ListBalanceTransactions200ResponseEmbedded { + pub fn new() -> ListBalanceTransactions200ResponseEmbedded { + ListBalanceTransactions200ResponseEmbedded { + balance_transactions: None, + } + } +} + diff --git a/src/models/list_balances_200_response.rs b/src/models/list_balances_200_response.rs new file mode 100644 index 0000000..9eaceb6 --- /dev/null +++ b/src/models/list_balances_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListBalances200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListBalances200Response { + pub fn new() -> ListBalances200Response { + ListBalances200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_balances_200_response__embedded.rs b/src/models/list_balances_200_response__embedded.rs new file mode 100644 index 0000000..b01fe82 --- /dev/null +++ b/src/models/list_balances_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListBalances200ResponseEmbedded { + /// An array of balance objects. For a complete reference of the balance object, refer to the [Get balance endpoint](get-balance) documentation. + #[serde(rename = "balances", skip_serializing_if = "Option::is_none")] + pub balances: Option>, +} + +impl ListBalances200ResponseEmbedded { + pub fn new() -> ListBalances200ResponseEmbedded { + ListBalances200ResponseEmbedded { + balances: None, + } + } +} + diff --git a/src/models/list_capabilities_200_response.rs b/src/models/list_capabilities_200_response.rs new file mode 100644 index 0000000..eef6db4 --- /dev/null +++ b/src/models/list_capabilities_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCapabilities200Response { + /// The number of items in this result set. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListCapabilities200Response { + pub fn new() -> ListCapabilities200Response { + ListCapabilities200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_capabilities_200_response__embedded.rs b/src/models/list_capabilities_200_response__embedded.rs new file mode 100644 index 0000000..651ecec --- /dev/null +++ b/src/models/list_capabilities_200_response__embedded.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCapabilities200ResponseEmbedded { + #[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")] + pub capabilities: Option>, +} + +impl ListCapabilities200ResponseEmbedded { + pub fn new() -> ListCapabilities200ResponseEmbedded { + ListCapabilities200ResponseEmbedded { + capabilities: None, + } + } +} + diff --git a/src/models/list_capabilities_200_response__links.rs b/src/models/list_capabilities_200_response__links.rs new file mode 100644 index 0000000..6c9788b --- /dev/null +++ b/src/models/list_capabilities_200_response__links.rs @@ -0,0 +1,27 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCapabilities200ResponseLinks { + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl ListCapabilities200ResponseLinks { + pub fn new() -> ListCapabilities200ResponseLinks { + ListCapabilities200ResponseLinks { + documentation: None, + } + } +} + diff --git a/src/models/list_capabilities_200_response__links_documentation.rs b/src/models/list_capabilities_200_response__links_documentation.rs new file mode 100644 index 0000000..ac13250 --- /dev/null +++ b/src/models/list_capabilities_200_response__links_documentation.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCapabilities200ResponseLinksDocumentation { + #[serde(rename = "href", skip_serializing_if = "Option::is_none")] + pub href: Option, + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, +} + +impl ListCapabilities200ResponseLinksDocumentation { + pub fn new() -> ListCapabilities200ResponseLinksDocumentation { + ListCapabilities200ResponseLinksDocumentation { + href: None, + r#type: None, + } + } +} + diff --git a/src/models/list_clients_200_response.rs b/src/models/list_clients_200_response.rs new file mode 100644 index 0000000..7d29abf --- /dev/null +++ b/src/models/list_clients_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListClients200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListClients200Response { + pub fn new() -> ListClients200Response { + ListClients200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_clients_200_response__embedded.rs b/src/models/list_clients_200_response__embedded.rs new file mode 100644 index 0000000..510fa6a --- /dev/null +++ b/src/models/list_clients_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListClients200ResponseEmbedded { + /// An array of client objects. For a complete reference of the client object, refer to the [Get client endpoint](get-client) documentation. + #[serde(rename = "clients", skip_serializing_if = "Option::is_none")] + pub clients: Option>, +} + +impl ListClients200ResponseEmbedded { + pub fn new() -> ListClients200ResponseEmbedded { + ListClients200ResponseEmbedded { + clients: None, + } + } +} + diff --git a/src/models/list_clients_200_response__embedded_clients_inner.rs b/src/models/list_clients_200_response__embedded_clients_inner.rs new file mode 100644 index 0000000..c19b49e --- /dev/null +++ b/src/models/list_clients_200_response__embedded_clients_inner.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListClients200ResponseEmbeddedClientsInner { + /// Indicates the response contains a client object. Will always contain the string `client` for this resource type. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + /// The identifier uniquely referring to this client. Example: `org_12345678`. + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "commission", skip_serializing_if = "Option::is_none")] + pub commission: Option>, + /// The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "organizationCreatedAt", skip_serializing_if = "Option::is_none")] + pub organization_created_at: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, +} + +impl ListClients200ResponseEmbeddedClientsInner { + pub fn new() -> ListClients200ResponseEmbeddedClientsInner { + ListClients200ResponseEmbeddedClientsInner { + resource: None, + id: None, + commission: None, + organization_created_at: None, + _links: None, + _embedded: None, + } + } +} + diff --git a/src/models/list_clients_200_response__embedded_clients_inner_all_of__embedded.rs b/src/models/list_clients_200_response__embedded_clients_inner_all_of__embedded.rs new file mode 100644 index 0000000..dfee762 --- /dev/null +++ b/src/models/list_clients_200_response__embedded_clients_inner_all_of__embedded.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded { + #[serde(rename = "organization", skip_serializing_if = "Option::is_none")] + pub organization: Option>, + #[serde(rename = "onboarding", skip_serializing_if = "Option::is_none")] + pub onboarding: Option>, + #[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")] + pub capabilities: Option>, +} + +impl ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded { + pub fn new() -> ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded { + ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded { + organization: None, + onboarding: None, + capabilities: None, + } + } +} + diff --git a/src/models/list_connect_balance_transfers_200_response.rs b/src/models/list_connect_balance_transfers_200_response.rs new file mode 100644 index 0000000..03814e6 --- /dev/null +++ b/src/models/list_connect_balance_transfers_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListConnectBalanceTransfers200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListConnectBalanceTransfers200Response { + pub fn new(count: i32, _embedded: models::ListConnectBalanceTransfers200ResponseEmbedded, _links: models::ListLinks) -> ListConnectBalanceTransfers200Response { + ListConnectBalanceTransfers200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_connect_balance_transfers_200_response__embedded.rs b/src/models/list_connect_balance_transfers_200_response__embedded.rs new file mode 100644 index 0000000..affdf86 --- /dev/null +++ b/src/models/list_connect_balance_transfers_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListConnectBalanceTransfers200ResponseEmbedded { + /// A list of Connect balance transfers. + #[serde(rename = "connect_balance_transfers")] + pub connect_balance_transfers: Vec, +} + +impl ListConnectBalanceTransfers200ResponseEmbedded { + pub fn new(connect_balance_transfers: Vec) -> ListConnectBalanceTransfers200ResponseEmbedded { + ListConnectBalanceTransfers200ResponseEmbedded { + connect_balance_transfers, + } + } +} + diff --git a/src/models/list_customers_200_response.rs b/src/models/list_customers_200_response.rs new file mode 100644 index 0000000..72a6316 --- /dev/null +++ b/src/models/list_customers_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCustomers200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListCustomers200Response { + pub fn new(count: i32, _embedded: models::ListCustomers200ResponseEmbedded, _links: models::ListLinks) -> ListCustomers200Response { + ListCustomers200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_customers_200_response__embedded.rs b/src/models/list_customers_200_response__embedded.rs new file mode 100644 index 0000000..cb91746 --- /dev/null +++ b/src/models/list_customers_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListCustomers200ResponseEmbedded { + /// An array of customer objects. + #[serde(rename = "customers")] + pub customers: Vec, +} + +impl ListCustomers200ResponseEmbedded { + pub fn new(customers: Vec) -> ListCustomers200ResponseEmbedded { + ListCustomers200ResponseEmbedded { + customers, + } + } +} + diff --git a/src/models/list_invoices_200_response.rs b/src/models/list_invoices_200_response.rs new file mode 100644 index 0000000..b0125be --- /dev/null +++ b/src/models/list_invoices_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListInvoices200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListInvoices200Response { + pub fn new() -> ListInvoices200Response { + ListInvoices200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_invoices_200_response__embedded.rs b/src/models/list_invoices_200_response__embedded.rs new file mode 100644 index 0000000..5948ef2 --- /dev/null +++ b/src/models/list_invoices_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListInvoices200ResponseEmbedded { + /// An array of invoice objects. For a complete reference of the invoice object, refer to the [Get invoice endpoint](get-invoice) documentation. + #[serde(rename = "invoices", skip_serializing_if = "Option::is_none")] + pub invoices: Option>, +} + +impl ListInvoices200ResponseEmbedded { + pub fn new() -> ListInvoices200ResponseEmbedded { + ListInvoices200ResponseEmbedded { + invoices: None, + } + } +} + diff --git a/src/models/list_links.rs b/src/models/list_links.rs new file mode 100644 index 0000000..49fb75b --- /dev/null +++ b/src/models/list_links.rs @@ -0,0 +1,41 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ListLinks : Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListLinks { + /// The URL to the current set of items. + #[serde(rename = "self")] + pub param_self: Box, + /// The previous set of items, if available. + #[serde(rename = "previous")] + pub previous: Box, + /// The next set of items, if available. + #[serde(rename = "next")] + pub next: Box, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl ListLinks { + /// Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. + pub fn new(param_self: models::Url, previous: models::UrlNullable, next: models::UrlNullable, documentation: models::Url) -> ListLinks { + ListLinks { + param_self: Box::new(param_self), + previous: Box::new(previous), + next: Box::new(next), + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/list_mandates_200_response.rs b/src/models/list_mandates_200_response.rs new file mode 100644 index 0000000..f4e13b4 --- /dev/null +++ b/src/models/list_mandates_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListMandates200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListMandates200Response { + pub fn new(count: i32, _embedded: models::ListMandates200ResponseEmbedded, _links: models::ListLinks) -> ListMandates200Response { + ListMandates200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_mandates_200_response__embedded.rs b/src/models/list_mandates_200_response__embedded.rs new file mode 100644 index 0000000..e2a94ae --- /dev/null +++ b/src/models/list_mandates_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListMandates200ResponseEmbedded { + /// An array of mandate objects. + #[serde(rename = "mandates")] + pub mandates: Vec, +} + +impl ListMandates200ResponseEmbedded { + pub fn new(mandates: Vec) -> ListMandates200ResponseEmbedded { + ListMandates200ResponseEmbedded { + mandates, + } + } +} + diff --git a/src/models/list_methods_200_response.rs b/src/models/list_methods_200_response.rs new file mode 100644 index 0000000..3608be9 --- /dev/null +++ b/src/models/list_methods_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListMethods200Response { + /// The number of payment method objects in this result set. Results are **not** paginated. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListMethods200Response { + pub fn new(count: i32, _embedded: models::ListMethods200ResponseEmbedded, _links: models::ListMethods200ResponseLinks) -> ListMethods200Response { + ListMethods200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_methods_200_response__embedded.rs b/src/models/list_methods_200_response__embedded.rs new file mode 100644 index 0000000..cdfe86b --- /dev/null +++ b/src/models/list_methods_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListMethods200ResponseEmbedded { + /// An array of payment method objects. For a complete reference of the payment method object, refer to the [Get payment method endpoint](get-method) documentation. + #[serde(rename = "methods")] + pub methods: Vec, +} + +impl ListMethods200ResponseEmbedded { + pub fn new(methods: Vec) -> ListMethods200ResponseEmbedded { + ListMethods200ResponseEmbedded { + methods, + } + } +} + diff --git a/src/models/list_methods_200_response__links.rs b/src/models/list_methods_200_response__links.rs new file mode 100644 index 0000000..10aad25 --- /dev/null +++ b/src/models/list_methods_200_response__links.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListMethods200ResponseLinks { + #[serde(rename = "self")] + pub param_self: Box, + #[serde(rename = "documentation")] + pub documentation: Box, +} + +impl ListMethods200ResponseLinks { + pub fn new(param_self: models::Url, documentation: models::Url) -> ListMethods200ResponseLinks { + ListMethods200ResponseLinks { + param_self: Box::new(param_self), + documentation: Box::new(documentation), + } + } +} + diff --git a/src/models/list_payment_links_200_response.rs b/src/models/list_payment_links_200_response.rs new file mode 100644 index 0000000..dd56c72 --- /dev/null +++ b/src/models/list_payment_links_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListPaymentLinks200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListPaymentLinks200Response { + pub fn new(count: i32, _embedded: models::ListPaymentLinks200ResponseEmbedded, _links: models::ListLinks) -> ListPaymentLinks200Response { + ListPaymentLinks200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_payment_links_200_response__embedded.rs b/src/models/list_payment_links_200_response__embedded.rs new file mode 100644 index 0000000..36fb600 --- /dev/null +++ b/src/models/list_payment_links_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListPaymentLinks200ResponseEmbedded { + /// An array of payment link objects. + #[serde(rename = "payment_links", skip_serializing_if = "Option::is_none")] + pub payment_links: Option>, +} + +impl ListPaymentLinks200ResponseEmbedded { + pub fn new() -> ListPaymentLinks200ResponseEmbedded { + ListPaymentLinks200ResponseEmbedded { + payment_links: None, + } + } +} + diff --git a/src/models/list_permissions_200_response.rs b/src/models/list_permissions_200_response.rs new file mode 100644 index 0000000..d79d35a --- /dev/null +++ b/src/models/list_permissions_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListPermissions200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListPermissions200Response { + pub fn new() -> ListPermissions200Response { + ListPermissions200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_permissions_200_response__embedded.rs b/src/models/list_permissions_200_response__embedded.rs new file mode 100644 index 0000000..53cfebc --- /dev/null +++ b/src/models/list_permissions_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListPermissions200ResponseEmbedded { + /// An array of permission objects. + #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")] + pub permissions: Option>, +} + +impl ListPermissions200ResponseEmbedded { + pub fn new() -> ListPermissions200ResponseEmbedded { + ListPermissions200ResponseEmbedded { + permissions: None, + } + } +} + diff --git a/src/models/list_permissions_200_response__links.rs b/src/models/list_permissions_200_response__links.rs new file mode 100644 index 0000000..5b1443f --- /dev/null +++ b/src/models/list_permissions_200_response__links.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ListPermissions200ResponseLinks : An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListPermissions200ResponseLinks { + /// The URL to the current set of items. + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl ListPermissions200ResponseLinks { + /// An object with several relevant URLs. Every URL object will contain an `href` and a `type` field. + pub fn new() -> ListPermissions200ResponseLinks { + ListPermissions200ResponseLinks { + param_self: None, + documentation: None, + } + } +} + diff --git a/src/models/list_profiles_200_response.rs b/src/models/list_profiles_200_response.rs new file mode 100644 index 0000000..5378998 --- /dev/null +++ b/src/models/list_profiles_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListProfiles200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListProfiles200Response { + pub fn new() -> ListProfiles200Response { + ListProfiles200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_profiles_200_response__embedded.rs b/src/models/list_profiles_200_response__embedded.rs new file mode 100644 index 0000000..0833ae2 --- /dev/null +++ b/src/models/list_profiles_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListProfiles200ResponseEmbedded { + /// An array of profile objects. + #[serde(rename = "profiles", skip_serializing_if = "Option::is_none")] + pub profiles: Option>, +} + +impl ListProfiles200ResponseEmbedded { + pub fn new() -> ListProfiles200ResponseEmbedded { + ListProfiles200ResponseEmbedded { + profiles: None, + } + } +} + diff --git a/src/models/list_sales_invoices_200_response.rs b/src/models/list_sales_invoices_200_response.rs new file mode 100644 index 0000000..b97ee68 --- /dev/null +++ b/src/models/list_sales_invoices_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSalesInvoices200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListSalesInvoices200Response { + pub fn new() -> ListSalesInvoices200Response { + ListSalesInvoices200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_sales_invoices_200_response__embedded.rs b/src/models/list_sales_invoices_200_response__embedded.rs new file mode 100644 index 0000000..6fe9903 --- /dev/null +++ b/src/models/list_sales_invoices_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSalesInvoices200ResponseEmbedded { + /// An array of sales invoice objects. For a complete reference of the sales invoice object, refer to the [Get sales invoice endpoint](get-sales-invoice) documentation. + #[serde(rename = "sales_invoices", skip_serializing_if = "Option::is_none")] + pub sales_invoices: Option>, +} + +impl ListSalesInvoices200ResponseEmbedded { + pub fn new() -> ListSalesInvoices200ResponseEmbedded { + ListSalesInvoices200ResponseEmbedded { + sales_invoices: None, + } + } +} + diff --git a/src/models/list_settlement_captures_200_response.rs b/src/models/list_settlement_captures_200_response.rs new file mode 100644 index 0000000..2860515 --- /dev/null +++ b/src/models/list_settlement_captures_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementCaptures200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListSettlementCaptures200Response { + pub fn new(count: i32, _embedded: models::ListSettlementCaptures200ResponseEmbedded, _links: models::ListLinks) -> ListSettlementCaptures200Response { + ListSettlementCaptures200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_settlement_captures_200_response__embedded.rs b/src/models/list_settlement_captures_200_response__embedded.rs new file mode 100644 index 0000000..6229d5e --- /dev/null +++ b/src/models/list_settlement_captures_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementCaptures200ResponseEmbedded { + /// An array of capture objects. + #[serde(rename = "captures")] + pub captures: Vec, +} + +impl ListSettlementCaptures200ResponseEmbedded { + pub fn new(captures: Vec) -> ListSettlementCaptures200ResponseEmbedded { + ListSettlementCaptures200ResponseEmbedded { + captures, + } + } +} + diff --git a/src/models/list_settlement_chargebacks_200_response.rs b/src/models/list_settlement_chargebacks_200_response.rs new file mode 100644 index 0000000..09a66a6 --- /dev/null +++ b/src/models/list_settlement_chargebacks_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementChargebacks200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl ListSettlementChargebacks200Response { + pub fn new() -> ListSettlementChargebacks200Response { + ListSettlementChargebacks200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/list_settlement_chargebacks_200_response__embedded.rs b/src/models/list_settlement_chargebacks_200_response__embedded.rs new file mode 100644 index 0000000..d4bee77 --- /dev/null +++ b/src/models/list_settlement_chargebacks_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementChargebacks200ResponseEmbedded { + /// A list of chargeback objects. + #[serde(rename = "chargebacks", skip_serializing_if = "Option::is_none")] + pub chargebacks: Option>, +} + +impl ListSettlementChargebacks200ResponseEmbedded { + pub fn new() -> ListSettlementChargebacks200ResponseEmbedded { + ListSettlementChargebacks200ResponseEmbedded { + chargebacks: None, + } + } +} + diff --git a/src/models/list_settlement_payments_200_response.rs b/src/models/list_settlement_payments_200_response.rs new file mode 100644 index 0000000..4d845ec --- /dev/null +++ b/src/models/list_settlement_payments_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementPayments200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListSettlementPayments200Response { + pub fn new(count: i32, _embedded: models::ListSettlementPayments200ResponseEmbedded, _links: models::ListLinks) -> ListSettlementPayments200Response { + ListSettlementPayments200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_settlement_payments_200_response__embedded.rs b/src/models/list_settlement_payments_200_response__embedded.rs new file mode 100644 index 0000000..9e985de --- /dev/null +++ b/src/models/list_settlement_payments_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementPayments200ResponseEmbedded { + /// An array of payment objects. + #[serde(rename = "payments", skip_serializing_if = "Option::is_none")] + pub payments: Option>, +} + +impl ListSettlementPayments200ResponseEmbedded { + pub fn new() -> ListSettlementPayments200ResponseEmbedded { + ListSettlementPayments200ResponseEmbedded { + payments: None, + } + } +} + diff --git a/src/models/list_settlement_refunds_200_response.rs b/src/models/list_settlement_refunds_200_response.rs new file mode 100644 index 0000000..576ad7e --- /dev/null +++ b/src/models/list_settlement_refunds_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementRefunds200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListSettlementRefunds200Response { + pub fn new(count: i32, _embedded: models::ListSettlementRefunds200ResponseEmbedded, _links: models::ListLinks) -> ListSettlementRefunds200Response { + ListSettlementRefunds200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_settlement_refunds_200_response__embedded.rs b/src/models/list_settlement_refunds_200_response__embedded.rs new file mode 100644 index 0000000..2977a42 --- /dev/null +++ b/src/models/list_settlement_refunds_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlementRefunds200ResponseEmbedded { + /// An array of refund objects. + #[serde(rename = "refunds")] + pub refunds: Vec, +} + +impl ListSettlementRefunds200ResponseEmbedded { + pub fn new(refunds: Vec) -> ListSettlementRefunds200ResponseEmbedded { + ListSettlementRefunds200ResponseEmbedded { + refunds, + } + } +} + diff --git a/src/models/list_settlements_200_response.rs b/src/models/list_settlements_200_response.rs new file mode 100644 index 0000000..383fbc9 --- /dev/null +++ b/src/models/list_settlements_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlements200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListSettlements200Response { + pub fn new(count: i32, _embedded: models::ListSettlements200ResponseEmbedded, _links: models::ListLinks) -> ListSettlements200Response { + ListSettlements200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_settlements_200_response__embedded.rs b/src/models/list_settlements_200_response__embedded.rs new file mode 100644 index 0000000..a0cba9e --- /dev/null +++ b/src/models/list_settlements_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSettlements200ResponseEmbedded { + /// An array of settlement objects. For a complete reference of the settlement object, refer to the [Get settlement endpoint](get-settlement) documentation. + #[serde(rename = "settlements")] + pub settlements: Vec, +} + +impl ListSettlements200ResponseEmbedded { + pub fn new(settlements: Vec) -> ListSettlements200ResponseEmbedded { + ListSettlements200ResponseEmbedded { + settlements, + } + } +} + diff --git a/src/models/list_subscriptions_200_response.rs b/src/models/list_subscriptions_200_response.rs new file mode 100644 index 0000000..49c5a86 --- /dev/null +++ b/src/models/list_subscriptions_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSubscriptions200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListSubscriptions200Response { + pub fn new(count: i32, _embedded: models::ListSubscriptions200ResponseEmbedded, _links: models::ListLinks) -> ListSubscriptions200Response { + ListSubscriptions200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_subscriptions_200_response__embedded.rs b/src/models/list_subscriptions_200_response__embedded.rs new file mode 100644 index 0000000..afb1344 --- /dev/null +++ b/src/models/list_subscriptions_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListSubscriptions200ResponseEmbedded { + /// An array of subscription objects. + #[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")] + pub subscriptions: Option>, +} + +impl ListSubscriptions200ResponseEmbedded { + pub fn new() -> ListSubscriptions200ResponseEmbedded { + ListSubscriptions200ResponseEmbedded { + subscriptions: None, + } + } +} + diff --git a/src/models/list_terminals_200_response.rs b/src/models/list_terminals_200_response.rs new file mode 100644 index 0000000..3d75952 --- /dev/null +++ b/src/models/list_terminals_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListTerminals200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListTerminals200Response { + pub fn new(count: i32, _embedded: models::ListTerminals200ResponseEmbedded, _links: models::ListLinks) -> ListTerminals200Response { + ListTerminals200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_terminals_200_response__embedded.rs b/src/models/list_terminals_200_response__embedded.rs new file mode 100644 index 0000000..fc9c729 --- /dev/null +++ b/src/models/list_terminals_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListTerminals200ResponseEmbedded { + /// An array of terminal objects. + #[serde(rename = "terminals", skip_serializing_if = "Option::is_none")] + pub terminals: Option>, +} + +impl ListTerminals200ResponseEmbedded { + pub fn new() -> ListTerminals200ResponseEmbedded { + ListTerminals200ResponseEmbedded { + terminals: None, + } + } +} + diff --git a/src/models/list_webhooks_200_response.rs b/src/models/list_webhooks_200_response.rs new file mode 100644 index 0000000..2b5e090 --- /dev/null +++ b/src/models/list_webhooks_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListWebhooks200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count")] + pub count: i32, + #[serde(rename = "_embedded")] + pub _embedded: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl ListWebhooks200Response { + pub fn new(count: i32, _embedded: models::ListWebhooks200ResponseEmbedded, _links: models::ListLinks) -> ListWebhooks200Response { + ListWebhooks200Response { + count, + _embedded: Box::new(_embedded), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/list_webhooks_200_response__embedded.rs b/src/models/list_webhooks_200_response__embedded.rs new file mode 100644 index 0000000..bd340cf --- /dev/null +++ b/src/models/list_webhooks_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ListWebhooks200ResponseEmbedded { + /// A list of webhooks. + #[serde(rename = "webhooks")] + pub webhooks: Vec, +} + +impl ListWebhooks200ResponseEmbedded { + pub fn new(webhooks: Vec) -> ListWebhooks200ResponseEmbedded { + ListWebhooks200ResponseEmbedded { + webhooks, + } + } +} + diff --git a/src/models/locale.rs b/src/models/locale.rs new file mode 100644 index 0000000..1802e16 --- /dev/null +++ b/src/models/locale.rs @@ -0,0 +1,99 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Locale : Allows you to preset the language to be used. +/// Allows you to preset the language to be used. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Locale { + #[serde(rename = "en_US")] + EnUs, + #[serde(rename = "en_GB")] + EnGb, + #[serde(rename = "nl_NL")] + NlNl, + #[serde(rename = "nl_BE")] + NlBe, + #[serde(rename = "de_DE")] + DeDe, + #[serde(rename = "de_AT")] + DeAt, + #[serde(rename = "de_CH")] + DeCh, + #[serde(rename = "fr_FR")] + FrFr, + #[serde(rename = "fr_BE")] + FrBe, + #[serde(rename = "es_ES")] + EsEs, + #[serde(rename = "ca_ES")] + CaEs, + #[serde(rename = "pt_PT")] + PtPt, + #[serde(rename = "it_IT")] + ItIt, + #[serde(rename = "nb_NO")] + NbNo, + #[serde(rename = "sv_SE")] + SvSe, + #[serde(rename = "fi_FI")] + FiFi, + #[serde(rename = "da_DK")] + DaDk, + #[serde(rename = "is_IS")] + IsIs, + #[serde(rename = "hu_HU")] + HuHu, + #[serde(rename = "pl_PL")] + PlPl, + #[serde(rename = "lv_LV")] + LvLv, + #[serde(rename = "lt_LT")] + LtLt, + +} + +impl std::fmt::Display for Locale { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EnUs => write!(f, "en_US"), + Self::EnGb => write!(f, "en_GB"), + Self::NlNl => write!(f, "nl_NL"), + Self::NlBe => write!(f, "nl_BE"), + Self::DeDe => write!(f, "de_DE"), + Self::DeAt => write!(f, "de_AT"), + Self::DeCh => write!(f, "de_CH"), + Self::FrFr => write!(f, "fr_FR"), + Self::FrBe => write!(f, "fr_BE"), + Self::EsEs => write!(f, "es_ES"), + Self::CaEs => write!(f, "ca_ES"), + Self::PtPt => write!(f, "pt_PT"), + Self::ItIt => write!(f, "it_IT"), + Self::NbNo => write!(f, "nb_NO"), + Self::SvSe => write!(f, "sv_SE"), + Self::FiFi => write!(f, "fi_FI"), + Self::DaDk => write!(f, "da_DK"), + Self::IsIs => write!(f, "is_IS"), + Self::HuHu => write!(f, "hu_HU"), + Self::PlPl => write!(f, "pl_PL"), + Self::LvLv => write!(f, "lv_LV"), + Self::LtLt => write!(f, "lt_LT"), + } + } +} + +impl Default for Locale { + fn default() -> Locale { + Self::EnUs + } +} + diff --git a/src/models/locale_response.rs b/src/models/locale_response.rs new file mode 100644 index 0000000..ef6b751 --- /dev/null +++ b/src/models/locale_response.rs @@ -0,0 +1,99 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// LocaleResponse : Allows you to preset the language to be used. +/// Allows you to preset the language to be used. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum LocaleResponse { + #[serde(rename = "en_US")] + EnUs, + #[serde(rename = "en_GB")] + EnGb, + #[serde(rename = "nl_NL")] + NlNl, + #[serde(rename = "nl_BE")] + NlBe, + #[serde(rename = "de_DE")] + DeDe, + #[serde(rename = "de_AT")] + DeAt, + #[serde(rename = "de_CH")] + DeCh, + #[serde(rename = "fr_FR")] + FrFr, + #[serde(rename = "fr_BE")] + FrBe, + #[serde(rename = "es_ES")] + EsEs, + #[serde(rename = "ca_ES")] + CaEs, + #[serde(rename = "pt_PT")] + PtPt, + #[serde(rename = "it_IT")] + ItIt, + #[serde(rename = "nb_NO")] + NbNo, + #[serde(rename = "sv_SE")] + SvSe, + #[serde(rename = "fi_FI")] + FiFi, + #[serde(rename = "da_DK")] + DaDk, + #[serde(rename = "is_IS")] + IsIs, + #[serde(rename = "hu_HU")] + HuHu, + #[serde(rename = "pl_PL")] + PlPl, + #[serde(rename = "lv_LV")] + LvLv, + #[serde(rename = "lt_LT")] + LtLt, + +} + +impl std::fmt::Display for LocaleResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EnUs => write!(f, "en_US"), + Self::EnGb => write!(f, "en_GB"), + Self::NlNl => write!(f, "nl_NL"), + Self::NlBe => write!(f, "nl_BE"), + Self::DeDe => write!(f, "de_DE"), + Self::DeAt => write!(f, "de_AT"), + Self::DeCh => write!(f, "de_CH"), + Self::FrFr => write!(f, "fr_FR"), + Self::FrBe => write!(f, "fr_BE"), + Self::EsEs => write!(f, "es_ES"), + Self::CaEs => write!(f, "ca_ES"), + Self::PtPt => write!(f, "pt_PT"), + Self::ItIt => write!(f, "it_IT"), + Self::NbNo => write!(f, "nb_NO"), + Self::SvSe => write!(f, "sv_SE"), + Self::FiFi => write!(f, "fi_FI"), + Self::DaDk => write!(f, "da_DK"), + Self::IsIs => write!(f, "is_IS"), + Self::HuHu => write!(f, "hu_HU"), + Self::PlPl => write!(f, "pl_PL"), + Self::LvLv => write!(f, "lv_LV"), + Self::LtLt => write!(f, "lt_LT"), + } + } +} + +impl Default for LocaleResponse { + fn default() -> LocaleResponse { + Self::EnUs + } +} + diff --git a/src/models/mandate_details_card_label.rs b/src/models/mandate_details_card_label.rs new file mode 100644 index 0000000..dc771e2 --- /dev/null +++ b/src/models/mandate_details_card_label.rs @@ -0,0 +1,69 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MandateDetailsCardLabel : The card's label. Available for card mandates, if the card label could be detected. +/// The card's label. Available for card mandates, if the card label could be detected. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MandateDetailsCardLabel { + #[serde(rename = "American Express")] + AmericanExpress, + #[serde(rename = "Carta Si")] + CartaSi, + #[serde(rename = "Carte Bleue")] + CarteBleue, + #[serde(rename = "Dankort")] + Dankort, + #[serde(rename = "Diners Club")] + DinersClub, + #[serde(rename = "Discover")] + Discover, + #[serde(rename = "JCB")] + Jcb, + #[serde(rename = "Laser")] + Laser, + #[serde(rename = "Maestro")] + Maestro, + #[serde(rename = "Mastercard")] + Mastercard, + #[serde(rename = "Unionpay")] + Unionpay, + #[serde(rename = "Visa")] + Visa, + +} + +impl std::fmt::Display for MandateDetailsCardLabel { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "American Express"), + Self::CartaSi => write!(f, "Carta Si"), + Self::CarteBleue => write!(f, "Carte Bleue"), + Self::Dankort => write!(f, "Dankort"), + Self::DinersClub => write!(f, "Diners Club"), + Self::Discover => write!(f, "Discover"), + Self::Jcb => write!(f, "JCB"), + Self::Laser => write!(f, "Laser"), + Self::Maestro => write!(f, "Maestro"), + Self::Mastercard => write!(f, "Mastercard"), + Self::Unionpay => write!(f, "Unionpay"), + Self::Visa => write!(f, "Visa"), + } + } +} + +impl Default for MandateDetailsCardLabel { + fn default() -> MandateDetailsCardLabel { + Self::AmericanExpress + } +} + diff --git a/src/models/mandate_details_card_label_response.rs b/src/models/mandate_details_card_label_response.rs new file mode 100644 index 0000000..1760eba --- /dev/null +++ b/src/models/mandate_details_card_label_response.rs @@ -0,0 +1,69 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MandateDetailsCardLabelResponse : The card's label. Available for card mandates, if the card label could be detected. +/// The card's label. Available for card mandates, if the card label could be detected. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MandateDetailsCardLabelResponse { + #[serde(rename = "American Express")] + AmericanExpress, + #[serde(rename = "Carta Si")] + CartaSi, + #[serde(rename = "Carte Bleue")] + CarteBleue, + #[serde(rename = "Dankort")] + Dankort, + #[serde(rename = "Diners Club")] + DinersClub, + #[serde(rename = "Discover")] + Discover, + #[serde(rename = "JCB")] + Jcb, + #[serde(rename = "Laser")] + Laser, + #[serde(rename = "Maestro")] + Maestro, + #[serde(rename = "Mastercard")] + Mastercard, + #[serde(rename = "Unionpay")] + Unionpay, + #[serde(rename = "Visa")] + Visa, + +} + +impl std::fmt::Display for MandateDetailsCardLabelResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "American Express"), + Self::CartaSi => write!(f, "Carta Si"), + Self::CarteBleue => write!(f, "Carte Bleue"), + Self::Dankort => write!(f, "Dankort"), + Self::DinersClub => write!(f, "Diners Club"), + Self::Discover => write!(f, "Discover"), + Self::Jcb => write!(f, "JCB"), + Self::Laser => write!(f, "Laser"), + Self::Maestro => write!(f, "Maestro"), + Self::Mastercard => write!(f, "Mastercard"), + Self::Unionpay => write!(f, "Unionpay"), + Self::Visa => write!(f, "Visa"), + } + } +} + +impl Default for MandateDetailsCardLabelResponse { + fn default() -> MandateDetailsCardLabelResponse { + Self::AmericanExpress + } +} + diff --git a/src/models/mandate_method.rs b/src/models/mandate_method.rs new file mode 100644 index 0000000..244c4da --- /dev/null +++ b/src/models/mandate_method.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MandateMethod : Payment method of the mandate. SEPA Direct Debit and PayPal mandates can be created directly. +/// Payment method of the mandate. SEPA Direct Debit and PayPal mandates can be created directly. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MandateMethod { + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "paypal")] + Paypal, + +} + +impl std::fmt::Display for MandateMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Paypal => write!(f, "paypal"), + } + } +} + +impl Default for MandateMethod { + fn default() -> MandateMethod { + Self::Creditcard + } +} + diff --git a/src/models/mandate_method_response.rs b/src/models/mandate_method_response.rs new file mode 100644 index 0000000..f42a006 --- /dev/null +++ b/src/models/mandate_method_response.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MandateMethodResponse : Payment method of the mandate. SEPA Direct Debit and PayPal mandates can be created directly. +/// Payment method of the mandate. SEPA Direct Debit and PayPal mandates can be created directly. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MandateMethodResponse { + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "paypal")] + Paypal, + +} + +impl std::fmt::Display for MandateMethodResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Paypal => write!(f, "paypal"), + } + } +} + +impl Default for MandateMethodResponse { + fn default() -> MandateMethodResponse { + Self::Creditcard + } +} + diff --git a/src/models/mandate_request.rs b/src/models/mandate_request.rs new file mode 100644 index 0000000..5504ba7 --- /dev/null +++ b/src/models/mandate_request.rs @@ -0,0 +1,89 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MandateRequest { + /// Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "method", skip_serializing_if = "Option::is_none")] + pub method: Option, + /// The customer's name. + #[serde(rename = "consumerName", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option, + /// The customer's IBAN. Required for SEPA Direct Debit mandates. + #[serde(rename = "consumerAccount", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option, + /// The BIC of the customer's bank. + #[serde(rename = "consumerBic", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option, + /// The customer's email address. Required for PayPal mandates. + #[serde(rename = "consumerEmail", skip_serializing_if = "Option::is_none")] + pub consumer_email: Option, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The date when the mandate was signed in `YYYY-MM-DD` format. + #[serde(rename = "signatureDate", skip_serializing_if = "Option::is_none")] + pub signature_date: Option, + /// A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. + #[serde(rename = "mandateReference", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option, + /// The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. + #[serde(rename = "paypalBillingAgreementId", skip_serializing_if = "Option::is_none")] + pub paypal_billing_agreement_id: Option, + /// The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. + #[serde(rename = "payPalVaultId", skip_serializing_if = "Option::is_none")] + pub pay_pal_vault_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl MandateRequest { + pub fn new() -> MandateRequest { + MandateRequest { + resource: None, + id: None, + mode: None, + method: None, + consumer_name: None, + consumer_account: None, + consumer_bic: None, + consumer_email: None, + details: None, + signature_date: None, + mandate_reference: None, + paypal_billing_agreement_id: None, + pay_pal_vault_id: None, + status: None, + customer_id: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/mandate_response.rs b/src/models/mandate_response.rs new file mode 100644 index 0000000..322f9e3 --- /dev/null +++ b/src/models/mandate_response.rs @@ -0,0 +1,89 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct MandateResponse { + /// Indicates the response contains a mandate object. Will always contain the string `mandate` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "method", skip_serializing_if = "Option::is_none")] + pub method: Option, + /// The customer's name. + #[serde(rename = "consumerName", skip_serializing_if = "Option::is_none")] + pub consumer_name: Option, + /// The customer's IBAN. Required for SEPA Direct Debit mandates. + #[serde(rename = "consumerAccount", skip_serializing_if = "Option::is_none")] + pub consumer_account: Option, + /// The BIC of the customer's bank. + #[serde(rename = "consumerBic", skip_serializing_if = "Option::is_none")] + pub consumer_bic: Option, + /// The customer's email address. Required for PayPal mandates. + #[serde(rename = "consumerEmail", skip_serializing_if = "Option::is_none")] + pub consumer_email: Option, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The date when the mandate was signed in `YYYY-MM-DD` format. + #[serde(rename = "signatureDate", skip_serializing_if = "Option::is_none")] + pub signature_date: Option, + /// A custom mandate reference. For SEPA Direct Debit, it is vital to provide a unique reference. Some banks will decline Direct Debit payments if the mandate reference is not unique. + #[serde(rename = "mandateReference", skip_serializing_if = "Option::is_none")] + pub mandate_reference: Option, + /// The billing agreement ID given by PayPal. For example: `B-12A34567B8901234CD`. Required for PayPal mandates. Must provide either this field or `payPalVaultId`, but not both. + #[serde(rename = "paypalBillingAgreementId", skip_serializing_if = "Option::is_none")] + pub paypal_billing_agreement_id: Option, + /// The Vault ID given by PayPal. For example: `8kk8451t`. Required for PayPal mandates. Must provide either this field or `paypalBillingAgreementId`, but not both. + #[serde(rename = "payPalVaultId", skip_serializing_if = "Option::is_none")] + pub pay_pal_vault_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl MandateResponse { + pub fn new() -> MandateResponse { + MandateResponse { + resource: None, + id: None, + mode: None, + method: None, + consumer_name: None, + consumer_account: None, + consumer_bic: None, + consumer_email: None, + details: None, + signature_date: None, + mandate_reference: None, + paypal_billing_agreement_id: None, + pay_pal_vault_id: None, + status: None, + customer_id: None, + created_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/mandate_status.rs b/src/models/mandate_status.rs new file mode 100644 index 0000000..41bde97 --- /dev/null +++ b/src/models/mandate_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MandateStatus : The status of the mandate. A status can be `pending` for mandates when the first payment is not yet finalized, or when we did not received the IBAN yet from the first payment. +/// The status of the mandate. A status can be `pending` for mandates when the first payment is not yet finalized, or when we did not received the IBAN yet from the first payment. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MandateStatus { + #[serde(rename = "valid")] + Valid, + #[serde(rename = "pending")] + Pending, + #[serde(rename = "invalid")] + Invalid, + +} + +impl std::fmt::Display for MandateStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Valid => write!(f, "valid"), + Self::Pending => write!(f, "pending"), + Self::Invalid => write!(f, "invalid"), + } + } +} + +impl Default for MandateStatus { + fn default() -> MandateStatus { + Self::Valid + } +} + diff --git a/src/models/metadata.rs b/src/models/metadata.rs new file mode 100644 index 0000000..4a72592 --- /dev/null +++ b/src/models/metadata.rs @@ -0,0 +1,29 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Metadata : Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. +/// Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +#[serde(untagged)] +pub enum Metadata { + String(String), + Object(std::collections::HashMap), + ArrayVecString(Vec), +} + +impl Default for Metadata { + fn default() -> Self { + Self::String(Default::default()) + } +} + diff --git a/src/models/method.rs b/src/models/method.rs new file mode 100644 index 0000000..59a141b --- /dev/null +++ b/src/models/method.rs @@ -0,0 +1,147 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Method : Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website. You can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`. +/// Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website. You can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Method { + #[serde(rename = "alma")] + Alma, + #[serde(rename = "applepay")] + Applepay, + #[serde(rename = "bacs")] + Bacs, + #[serde(rename = "bancomatpay")] + Bancomatpay, + #[serde(rename = "bancontact")] + Bancontact, + #[serde(rename = "banktransfer")] + Banktransfer, + #[serde(rename = "belfius")] + Belfius, + #[serde(rename = "billie")] + Billie, + #[serde(rename = "bizum")] + Bizum, + #[serde(rename = "blik")] + Blik, + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "eps")] + Eps, + #[serde(rename = "giftcard")] + Giftcard, + #[serde(rename = "ideal")] + Ideal, + #[serde(rename = "in3")] + In3, + #[serde(rename = "kbc")] + Kbc, + #[serde(rename = "klarna")] + Klarna, + #[serde(rename = "klarnapaylater")] + Klarnapaylater, + #[serde(rename = "klarnapaynow")] + Klarnapaynow, + #[serde(rename = "klarnasliceit")] + Klarnasliceit, + #[serde(rename = "mbway")] + Mbway, + #[serde(rename = "mobilepay")] + Mobilepay, + #[serde(rename = "multibanco")] + Multibanco, + #[serde(rename = "mybank")] + Mybank, + #[serde(rename = "paybybank")] + Paybybank, + #[serde(rename = "payconiq")] + Payconiq, + #[serde(rename = "paypal")] + Paypal, + #[serde(rename = "paysafecard")] + Paysafecard, + #[serde(rename = "pointofsale")] + Pointofsale, + #[serde(rename = "przelewy24")] + Przelewy24, + #[serde(rename = "riverty")] + Riverty, + #[serde(rename = "satispay")] + Satispay, + #[serde(rename = "swish")] + Swish, + #[serde(rename = "trustly")] + Trustly, + #[serde(rename = "twint")] + Twint, + #[serde(rename = "vipps")] + Vipps, + #[serde(rename = "voucher")] + Voucher, + +} + +impl std::fmt::Display for Method { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Alma => write!(f, "alma"), + Self::Applepay => write!(f, "applepay"), + Self::Bacs => write!(f, "bacs"), + Self::Bancomatpay => write!(f, "bancomatpay"), + Self::Bancontact => write!(f, "bancontact"), + Self::Banktransfer => write!(f, "banktransfer"), + Self::Belfius => write!(f, "belfius"), + Self::Billie => write!(f, "billie"), + Self::Bizum => write!(f, "bizum"), + Self::Blik => write!(f, "blik"), + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Eps => write!(f, "eps"), + Self::Giftcard => write!(f, "giftcard"), + Self::Ideal => write!(f, "ideal"), + Self::In3 => write!(f, "in3"), + Self::Kbc => write!(f, "kbc"), + Self::Klarna => write!(f, "klarna"), + Self::Klarnapaylater => write!(f, "klarnapaylater"), + Self::Klarnapaynow => write!(f, "klarnapaynow"), + Self::Klarnasliceit => write!(f, "klarnasliceit"), + Self::Mbway => write!(f, "mbway"), + Self::Mobilepay => write!(f, "mobilepay"), + Self::Multibanco => write!(f, "multibanco"), + Self::Mybank => write!(f, "mybank"), + Self::Paybybank => write!(f, "paybybank"), + Self::Payconiq => write!(f, "payconiq"), + Self::Paypal => write!(f, "paypal"), + Self::Paysafecard => write!(f, "paysafecard"), + Self::Pointofsale => write!(f, "pointofsale"), + Self::Przelewy24 => write!(f, "przelewy24"), + Self::Riverty => write!(f, "riverty"), + Self::Satispay => write!(f, "satispay"), + Self::Swish => write!(f, "swish"), + Self::Trustly => write!(f, "trustly"), + Self::Twint => write!(f, "twint"), + Self::Vipps => write!(f, "vipps"), + Self::Voucher => write!(f, "voucher"), + } + } +} + +impl Default for Method { + fn default() -> Method { + Self::Alma + } +} + diff --git a/src/models/method_issuer_status.rs b/src/models/method_issuer_status.rs new file mode 100644 index 0000000..88bf86e --- /dev/null +++ b/src/models/method_issuer_status.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MethodIssuerStatus : The status of the issuer. If the status is `pending-issuer`, an additional action from your side may be required with the issuer. +/// The status of the issuer. If the status is `pending-issuer`, an additional action from your side may be required with the issuer. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MethodIssuerStatus { + #[serde(rename = "activated")] + Activated, + #[serde(rename = "pending-issuer")] + PendingIssuer, + +} + +impl std::fmt::Display for MethodIssuerStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Activated => write!(f, "activated"), + Self::PendingIssuer => write!(f, "pending-issuer"), + } + } +} + +impl Default for MethodIssuerStatus { + fn default() -> MethodIssuerStatus { + Self::Activated + } +} + diff --git a/src/models/method_response.rs b/src/models/method_response.rs new file mode 100644 index 0000000..ba665d3 --- /dev/null +++ b/src/models/method_response.rs @@ -0,0 +1,147 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MethodResponse : Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website. You can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`. +/// Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website. You can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer `['bancontact', 'belfius']`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MethodResponse { + #[serde(rename = "alma")] + Alma, + #[serde(rename = "applepay")] + Applepay, + #[serde(rename = "bacs")] + Bacs, + #[serde(rename = "bancomatpay")] + Bancomatpay, + #[serde(rename = "bancontact")] + Bancontact, + #[serde(rename = "banktransfer")] + Banktransfer, + #[serde(rename = "belfius")] + Belfius, + #[serde(rename = "billie")] + Billie, + #[serde(rename = "bizum")] + Bizum, + #[serde(rename = "blik")] + Blik, + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "eps")] + Eps, + #[serde(rename = "giftcard")] + Giftcard, + #[serde(rename = "ideal")] + Ideal, + #[serde(rename = "in3")] + In3, + #[serde(rename = "kbc")] + Kbc, + #[serde(rename = "klarna")] + Klarna, + #[serde(rename = "klarnapaylater")] + Klarnapaylater, + #[serde(rename = "klarnapaynow")] + Klarnapaynow, + #[serde(rename = "klarnasliceit")] + Klarnasliceit, + #[serde(rename = "mbway")] + Mbway, + #[serde(rename = "mobilepay")] + Mobilepay, + #[serde(rename = "multibanco")] + Multibanco, + #[serde(rename = "mybank")] + Mybank, + #[serde(rename = "paybybank")] + Paybybank, + #[serde(rename = "payconiq")] + Payconiq, + #[serde(rename = "paypal")] + Paypal, + #[serde(rename = "paysafecard")] + Paysafecard, + #[serde(rename = "pointofsale")] + Pointofsale, + #[serde(rename = "przelewy24")] + Przelewy24, + #[serde(rename = "riverty")] + Riverty, + #[serde(rename = "satispay")] + Satispay, + #[serde(rename = "swish")] + Swish, + #[serde(rename = "trustly")] + Trustly, + #[serde(rename = "twint")] + Twint, + #[serde(rename = "vipps")] + Vipps, + #[serde(rename = "voucher")] + Voucher, + +} + +impl std::fmt::Display for MethodResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Alma => write!(f, "alma"), + Self::Applepay => write!(f, "applepay"), + Self::Bacs => write!(f, "bacs"), + Self::Bancomatpay => write!(f, "bancomatpay"), + Self::Bancontact => write!(f, "bancontact"), + Self::Banktransfer => write!(f, "banktransfer"), + Self::Belfius => write!(f, "belfius"), + Self::Billie => write!(f, "billie"), + Self::Bizum => write!(f, "bizum"), + Self::Blik => write!(f, "blik"), + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Eps => write!(f, "eps"), + Self::Giftcard => write!(f, "giftcard"), + Self::Ideal => write!(f, "ideal"), + Self::In3 => write!(f, "in3"), + Self::Kbc => write!(f, "kbc"), + Self::Klarna => write!(f, "klarna"), + Self::Klarnapaylater => write!(f, "klarnapaylater"), + Self::Klarnapaynow => write!(f, "klarnapaynow"), + Self::Klarnasliceit => write!(f, "klarnasliceit"), + Self::Mbway => write!(f, "mbway"), + Self::Mobilepay => write!(f, "mobilepay"), + Self::Multibanco => write!(f, "multibanco"), + Self::Mybank => write!(f, "mybank"), + Self::Paybybank => write!(f, "paybybank"), + Self::Payconiq => write!(f, "payconiq"), + Self::Paypal => write!(f, "paypal"), + Self::Paysafecard => write!(f, "paysafecard"), + Self::Pointofsale => write!(f, "pointofsale"), + Self::Przelewy24 => write!(f, "przelewy24"), + Self::Riverty => write!(f, "riverty"), + Self::Satispay => write!(f, "satispay"), + Self::Swish => write!(f, "swish"), + Self::Trustly => write!(f, "trustly"), + Self::Twint => write!(f, "twint"), + Self::Vipps => write!(f, "vipps"), + Self::Voucher => write!(f, "voucher"), + } + } +} + +impl Default for MethodResponse { + fn default() -> MethodResponse { + Self::Alma + } +} + diff --git a/src/models/method_status.rs b/src/models/method_status.rs new file mode 100644 index 0000000..d0f7ce6 --- /dev/null +++ b/src/models/method_status.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// MethodStatus : The payment method's activation status for this profile. +/// The payment method's activation status for this profile. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum MethodStatus { + #[serde(rename = "activated")] + Activated, + #[serde(rename = "pending-boarding")] + PendingBoarding, + #[serde(rename = "pending-review")] + PendingReview, + #[serde(rename = "pending-external")] + PendingExternal, + #[serde(rename = "rejected")] + Rejected, + +} + +impl std::fmt::Display for MethodStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Activated => write!(f, "activated"), + Self::PendingBoarding => write!(f, "pending-boarding"), + Self::PendingReview => write!(f, "pending-review"), + Self::PendingExternal => write!(f, "pending-external"), + Self::Rejected => write!(f, "rejected"), + } + } +} + +impl Default for MethodStatus { + fn default() -> MethodStatus { + Self::Activated + } +} + diff --git a/src/models/mod.rs b/src/models/mod.rs new file mode 100644 index 0000000..6fe10f6 --- /dev/null +++ b/src/models/mod.rs @@ -0,0 +1,700 @@ +pub mod address; +pub use self::address::Address; +pub mod amount; +pub use self::amount::Amount; +pub mod amount_nullable; +pub use self::amount_nullable::AmountNullable; +pub mod balance_report_grouping; +pub use self::balance_report_grouping::BalanceReportGrouping; +pub mod balance_status; +pub use self::balance_status::BalanceStatus; +pub mod balance_transaction_type; +pub use self::balance_transaction_type::BalanceTransactionType; +pub mod balance_transfer_category; +pub use self::balance_transfer_category::BalanceTransferCategory; +pub mod balance_transfer_category_response; +pub use self::balance_transfer_category_response::BalanceTransferCategoryResponse; +pub mod balance_transfer_destination_type; +pub use self::balance_transfer_destination_type::BalanceTransferDestinationType; +pub mod balance_transfer_frequency; +pub use self::balance_transfer_frequency::BalanceTransferFrequency; +pub mod balance_transfer_party_type; +pub use self::balance_transfer_party_type::BalanceTransferPartyType; +pub mod balance_transfer_party_type_response; +pub use self::balance_transfer_party_type_response::BalanceTransferPartyTypeResponse; +pub mod balance_transfer_status; +pub use self::balance_transfer_status::BalanceTransferStatus; +pub mod balance_transfer_status_reason; +pub use self::balance_transfer_status_reason::BalanceTransferStatusReason; +pub mod balance_transfer_status_reason_response; +pub use self::balance_transfer_status_reason_response::BalanceTransferStatusReasonResponse; +pub mod billing_address; +pub use self::billing_address::BillingAddress; +pub mod cancel_payment_request; +pub use self::cancel_payment_request::CancelPaymentRequest; +pub mod capability_requirement_status; +pub use self::capability_requirement_status::CapabilityRequirementStatus; +pub mod capability_status; +pub use self::capability_status::CapabilityStatus; +pub mod capability_status_reason; +pub use self::capability_status_reason::CapabilityStatusReason; +pub mod capture_mode; +pub use self::capture_mode::CaptureMode; +pub mod capture_mode_response; +pub use self::capture_mode_response::CaptureModeResponse; +pub mod capture_response; +pub use self::capture_response::CaptureResponse; +pub mod capture_status; +pub use self::capture_status::CaptureStatus; +pub mod components_sub_totals; +pub use self::components_sub_totals::ComponentsSubTotals; +pub mod create_payment_link_request; +pub use self::create_payment_link_request::CreatePaymentLinkRequest; +pub mod create_payment_link_request_application_fee; +pub use self::create_payment_link_request_application_fee::CreatePaymentLinkRequestApplicationFee; +pub mod create_payment_link_request__links; +pub use self::create_payment_link_request__links::CreatePaymentLinkRequestLinks; +pub mod create_webhook; +pub use self::create_webhook::CreateWebhook; +pub mod create_webhook_request; +pub use self::create_webhook_request::CreateWebhookRequest; +pub mod currencies; +pub use self::currencies::Currencies; +pub mod customer_response; +pub use self::customer_response::CustomerResponse; +pub mod delete_values_sales_invoice; +pub use self::delete_values_sales_invoice::DeleteValuesSalesInvoice; +pub mod delete_webhook_request; +pub use self::delete_webhook_request::DeleteWebhookRequest; +pub mod enable_method_issuer_200_response; +pub use self::enable_method_issuer_200_response::EnableMethodIssuer200Response; +pub mod enable_method_issuer_request; +pub use self::enable_method_issuer_request::EnableMethodIssuerRequest; +pub mod entity_balance; +pub use self::entity_balance::EntityBalance; +pub mod entity_balance__links; +pub use self::entity_balance__links::EntityBalanceLinks; +pub mod entity_balance_report; +pub use self::entity_balance_report::EntityBalanceReport; +pub mod entity_balance_report_totals; +pub use self::entity_balance_report_totals::EntityBalanceReportTotals; +pub mod entity_balance_report_totals_available_balance; +pub use self::entity_balance_report_totals_available_balance::EntityBalanceReportTotalsAvailableBalance; +pub mod entity_balance_report_totals_open; +pub use self::entity_balance_report_totals_open::EntityBalanceReportTotalsOpen; +pub mod entity_balance_report_totals_payments; +pub use self::entity_balance_report_totals_payments::EntityBalanceReportTotalsPayments; +pub mod entity_balance_report_totals_pending_balance; +pub use self::entity_balance_report_totals_pending_balance::EntityBalanceReportTotalsPendingBalance; +pub mod entity_balance_transaction; +pub use self::entity_balance_transaction::EntityBalanceTransaction; +pub mod entity_balance_transaction_context; +pub use self::entity_balance_transaction_context::EntityBalanceTransactionContext; +pub mod entity_balance_transaction_context_application_fee; +pub use self::entity_balance_transaction_context_application_fee::EntityBalanceTransactionContextApplicationFee; +pub mod entity_balance_transaction_context_capture; +pub use self::entity_balance_transaction_context_capture::EntityBalanceTransactionContextCapture; +pub mod entity_balance_transaction_context_chargeback; +pub use self::entity_balance_transaction_context_chargeback::EntityBalanceTransactionContextChargeback; +pub mod entity_balance_transaction_context_invoice_compensation; +pub use self::entity_balance_transaction_context_invoice_compensation::EntityBalanceTransactionContextInvoiceCompensation; +pub mod entity_balance_transaction_context_managed_fee; +pub use self::entity_balance_transaction_context_managed_fee::EntityBalanceTransactionContextManagedFee; +pub mod entity_balance_transaction_context_outgoing_transfer; +pub use self::entity_balance_transaction_context_outgoing_transfer::EntityBalanceTransactionContextOutgoingTransfer; +pub mod entity_balance_transaction_context_payment; +pub use self::entity_balance_transaction_context_payment::EntityBalanceTransactionContextPayment; +pub mod entity_balance_transaction_context_payment_commission; +pub use self::entity_balance_transaction_context_payment_commission::EntityBalanceTransactionContextPaymentCommission; +pub mod entity_balance_transaction_context_post_payment_split_payment; +pub use self::entity_balance_transaction_context_post_payment_split_payment::EntityBalanceTransactionContextPostPaymentSplitPayment; +pub mod entity_balance_transaction_context_refund; +pub use self::entity_balance_transaction_context_refund::EntityBalanceTransactionContextRefund; +pub mod entity_balance_transaction_context_returned_transfer; +pub use self::entity_balance_transaction_context_returned_transfer::EntityBalanceTransactionContextReturnedTransfer; +pub mod entity_balance_transaction_context_split_payment; +pub use self::entity_balance_transaction_context_split_payment::EntityBalanceTransactionContextSplitPayment; +pub mod entity_balance_transfer; +pub use self::entity_balance_transfer::EntityBalanceTransfer; +pub mod entity_balance_transfer_destination; +pub use self::entity_balance_transfer_destination::EntityBalanceTransferDestination; +pub mod entity_balance_transfer_party; +pub use self::entity_balance_transfer_party::EntityBalanceTransferParty; +pub mod entity_balance_transfer_party_response; +pub use self::entity_balance_transfer_party_response::EntityBalanceTransferPartyResponse; +pub mod entity_balance_transfer_response; +pub use self::entity_balance_transfer_response::EntityBalanceTransferResponse; +pub mod entity_balance_transfer_response_status_reason; +pub use self::entity_balance_transfer_response_status_reason::EntityBalanceTransferResponseStatusReason; +pub mod entity_balance_transfer_status_reason; +pub use self::entity_balance_transfer_status_reason::EntityBalanceTransferStatusReason; +pub mod entity_capability; +pub use self::entity_capability::EntityCapability; +pub mod entity_capability_requirement; +pub use self::entity_capability_requirement::EntityCapabilityRequirement; +pub mod entity_capability_requirement__links; +pub use self::entity_capability_requirement__links::EntityCapabilityRequirementLinks; +pub mod entity_capability_requirement__links_dashboard; +pub use self::entity_capability_requirement__links_dashboard::EntityCapabilityRequirementLinksDashboard; +pub mod entity_capture; +pub use self::entity_capture::EntityCapture; +pub mod entity_capture__links; +pub use self::entity_capture__links::EntityCaptureLinks; +pub mod entity_capture_response; +pub use self::entity_capture_response::EntityCaptureResponse; +pub mod entity_chargeback; +pub use self::entity_chargeback::EntityChargeback; +pub mod entity_chargeback_reason; +pub use self::entity_chargeback_reason::EntityChargebackReason; +pub mod entity_client; +pub use self::entity_client::EntityClient; +pub mod entity_client_commission; +pub use self::entity_client_commission::EntityClientCommission; +pub mod entity_client_link; +pub use self::entity_client_link::EntityClientLink; +pub mod entity_client_link_address; +pub use self::entity_client_link_address::EntityClientLinkAddress; +pub mod entity_client_link__links; +pub use self::entity_client_link__links::EntityClientLinkLinks; +pub mod entity_client_link_owner; +pub use self::entity_client_link_owner::EntityClientLinkOwner; +pub mod entity_client_link_response; +pub use self::entity_client_link_response::EntityClientLinkResponse; +pub mod entity_client__links; +pub use self::entity_client__links::EntityClientLinks; +pub mod entity_customer; +pub use self::entity_customer::EntityCustomer; +pub mod entity_customer__links; +pub use self::entity_customer__links::EntityCustomerLinks; +pub mod entity_customer_response; +pub use self::entity_customer_response::EntityCustomerResponse; +pub mod entity_event; +pub use self::entity_event::EntityEvent; +pub mod entity_event__links; +pub use self::entity_event__links::EntityEventLinks; +pub mod entity_invoice; +pub use self::entity_invoice::EntityInvoice; +pub mod entity_invoice_lines_inner; +pub use self::entity_invoice_lines_inner::EntityInvoiceLinesInner; +pub mod entity_invoice__links; +pub use self::entity_invoice__links::EntityInvoiceLinks; +pub mod entity_mandate; +pub use self::entity_mandate::EntityMandate; +pub mod entity_mandate_details; +pub use self::entity_mandate_details::EntityMandateDetails; +pub mod entity_mandate__links; +pub use self::entity_mandate__links::EntityMandateLinks; +pub mod entity_mandate_response; +pub use self::entity_mandate_response::EntityMandateResponse; +pub mod entity_mandate_response_details; +pub use self::entity_mandate_response_details::EntityMandateResponseDetails; +pub mod entity_method; +pub use self::entity_method::EntityMethod; +pub mod entity_method_all; +pub use self::entity_method_all::EntityMethodAll; +pub mod entity_method_all_all_of_pricing; +pub use self::entity_method_all_all_of_pricing::EntityMethodAllAllOfPricing; +pub mod entity_method_image; +pub use self::entity_method_image::EntityMethodImage; +pub mod entity_method_issuers_inner; +pub use self::entity_method_issuers_inner::EntityMethodIssuersInner; +pub mod entity_method_issuers_inner_image; +pub use self::entity_method_issuers_inner_image::EntityMethodIssuersInnerImage; +pub mod entity_method__links; +pub use self::entity_method__links::EntityMethodLinks; +pub mod entity_onboarding_status; +pub use self::entity_onboarding_status::EntityOnboardingStatus; +pub mod entity_onboarding_status__links; +pub use self::entity_onboarding_status__links::EntityOnboardingStatusLinks; +pub mod entity_organization; +pub use self::entity_organization::EntityOrganization; +pub mod entity_organization__links; +pub use self::entity_organization__links::EntityOrganizationLinks; +pub mod entity_payment; +pub use self::entity_payment::EntityPayment; +pub mod entity_payment_application_fee; +pub use self::entity_payment_application_fee::EntityPaymentApplicationFee; +pub mod entity_payment_billing_address; +pub use self::entity_payment_billing_address::EntityPaymentBillingAddress; +pub mod entity_payment_details; +pub use self::entity_payment_details::EntityPaymentDetails; +pub mod entity_payment_details_qr_code; +pub use self::entity_payment_details_qr_code::EntityPaymentDetailsQrCode; +pub mod entity_payment_details_receipt; +pub use self::entity_payment_details_receipt::EntityPaymentDetailsReceipt; +pub mod entity_payment_lines_inner; +pub use self::entity_payment_lines_inner::EntityPaymentLinesInner; +pub mod entity_payment_link; +pub use self::entity_payment_link::EntityPaymentLink; +pub mod entity_payment__links; +pub use self::entity_payment__links::EntityPaymentLinks; +pub mod entity_payment_response; +pub use self::entity_payment_response::EntityPaymentResponse; +pub mod entity_payment_response_details; +pub use self::entity_payment_response_details::EntityPaymentResponseDetails; +pub mod entity_payment_response_details_receipt; +pub use self::entity_payment_response_details_receipt::EntityPaymentResponseDetailsReceipt; +pub mod entity_payment_response_lines_inner; +pub use self::entity_payment_response_lines_inner::EntityPaymentResponseLinesInner; +pub mod entity_payment_route; +pub use self::entity_payment_route::EntityPaymentRoute; +pub mod entity_payment_route_destination; +pub use self::entity_payment_route_destination::EntityPaymentRouteDestination; +pub mod entity_payment_route__links; +pub use self::entity_payment_route__links::EntityPaymentRouteLinks; +pub mod entity_payment_route_response; +pub use self::entity_payment_route_response::EntityPaymentRouteResponse; +pub mod entity_payment_route_response_destination; +pub use self::entity_payment_route_response_destination::EntityPaymentRouteResponseDestination; +pub mod entity_permission; +pub use self::entity_permission::EntityPermission; +pub mod entity_profile; +pub use self::entity_profile::EntityProfile; +pub mod entity_profile__links; +pub use self::entity_profile__links::EntityProfileLinks; +pub mod entity_profile_response; +pub use self::entity_profile_response::EntityProfileResponse; +pub mod entity_profile_response_review; +pub use self::entity_profile_response_review::EntityProfileResponseReview; +pub mod entity_profile_review; +pub use self::entity_profile_review::EntityProfileReview; +pub mod entity_refund; +pub use self::entity_refund::EntityRefund; +pub mod entity_refund_external_reference; +pub use self::entity_refund_external_reference::EntityRefundExternalReference; +pub mod entity_refund__links; +pub use self::entity_refund__links::EntityRefundLinks; +pub mod entity_refund_response; +pub use self::entity_refund_response::EntityRefundResponse; +pub mod entity_refund_response_external_reference; +pub use self::entity_refund_response_external_reference::EntityRefundResponseExternalReference; +pub mod entity_refund_routing_reversals_inner; +pub use self::entity_refund_routing_reversals_inner::EntityRefundRoutingReversalsInner; +pub mod entity_refund_routing_reversals_inner_source; +pub use self::entity_refund_routing_reversals_inner_source::EntityRefundRoutingReversalsInnerSource; +pub mod entity_route; +pub use self::entity_route::EntityRoute; +pub mod entity_route_destination; +pub use self::entity_route_destination::EntityRouteDestination; +pub mod entity_sales_invoice; +pub use self::entity_sales_invoice::EntitySalesInvoice; +pub mod entity_sales_invoice__links; +pub use self::entity_sales_invoice__links::EntitySalesInvoiceLinks; +pub mod entity_sales_invoice_response; +pub use self::entity_sales_invoice_response::EntitySalesInvoiceResponse; +pub mod entity_settlement; +pub use self::entity_settlement::EntitySettlement; +pub mod entity_settlement__links; +pub use self::entity_settlement__links::EntitySettlementLinks; +pub mod entity_settlement_periods_value_value; +pub use self::entity_settlement_periods_value_value::EntitySettlementPeriodsValueValue; +pub mod entity_settlement_periods_value_value_costs_inner; +pub use self::entity_settlement_periods_value_value_costs_inner::EntitySettlementPeriodsValueValueCostsInner; +pub mod entity_settlement_periods_value_value_costs_inner_rate; +pub use self::entity_settlement_periods_value_value_costs_inner_rate::EntitySettlementPeriodsValueValueCostsInnerRate; +pub mod entity_settlement_periods_value_value_revenue_inner; +pub use self::entity_settlement_periods_value_value_revenue_inner::EntitySettlementPeriodsValueValueRevenueInner; +pub mod entity_subscription; +pub use self::entity_subscription::EntitySubscription; +pub mod entity_subscription_application_fee; +pub use self::entity_subscription_application_fee::EntitySubscriptionApplicationFee; +pub mod entity_subscription__links; +pub use self::entity_subscription__links::EntitySubscriptionLinks; +pub mod entity_terminal; +pub use self::entity_terminal::EntityTerminal; +pub mod entity_webhook; +pub use self::entity_webhook::EntityWebhook; +pub mod entity_webhook_event; +pub use self::entity_webhook_event::EntityWebhookEvent; +pub mod entity_webhook_event__embedded; +pub use self::entity_webhook_event__embedded::EntityWebhookEventEmbedded; +pub mod entity_webhook_event__embedded_entity; +pub use self::entity_webhook_event__embedded_entity::EntityWebhookEventEmbeddedEntity; +pub mod entity_webhook_event__links; +pub use self::entity_webhook_event__links::EntityWebhookEventLinks; +pub mod entity_webhook__links; +pub use self::entity_webhook__links::EntityWebhookLinks; +pub mod error_response; +pub use self::error_response::ErrorResponse; +pub mod error_response__links; +pub use self::error_response__links::ErrorResponseLinks; +pub mod error_response__links_documentation; +pub use self::error_response__links_documentation::ErrorResponseLinksDocumentation; +pub mod extra_parameter_parameters; +pub use self::extra_parameter_parameters::ExtraParameterParameters; +pub mod extra_parameter_parameters_company; +pub use self::extra_parameter_parameters_company::ExtraParameterParametersCompany; +pub mod get_customer_200_response; +pub use self::get_customer_200_response::GetCustomer200Response; +pub mod get_partner_status_200_response; +pub use self::get_partner_status_200_response::GetPartnerStatus200Response; +pub mod get_partner_status_200_response__links; +pub use self::get_partner_status_200_response__links::GetPartnerStatus200ResponseLinks; +pub mod get_partner_status_200_response_user_agent_tokens_inner; +pub use self::get_partner_status_200_response_user_agent_tokens_inner::GetPartnerStatus200ResponseUserAgentTokensInner; +pub mod giftcard; +pub use self::giftcard::Giftcard; +pub mod invoice_status; +pub use self::invoice_status::InvoiceStatus; +pub mod line_categories; +pub use self::line_categories::LineCategories; +pub mod line_categories_response; +pub use self::line_categories_response::LineCategoriesResponse; +pub mod list_all_methods_200_response; +pub use self::list_all_methods_200_response::ListAllMethods200Response; +pub mod list_all_methods_200_response__embedded; +pub use self::list_all_methods_200_response__embedded::ListAllMethods200ResponseEmbedded; +pub mod list_all_subscriptions_200_response; +pub use self::list_all_subscriptions_200_response::ListAllSubscriptions200Response; +pub mod list_all_subscriptions_200_response__embedded; +pub use self::list_all_subscriptions_200_response__embedded::ListAllSubscriptions200ResponseEmbedded; +pub mod list_balance_transactions_200_response; +pub use self::list_balance_transactions_200_response::ListBalanceTransactions200Response; +pub mod list_balance_transactions_200_response__embedded; +pub use self::list_balance_transactions_200_response__embedded::ListBalanceTransactions200ResponseEmbedded; +pub mod list_balances_200_response; +pub use self::list_balances_200_response::ListBalances200Response; +pub mod list_balances_200_response__embedded; +pub use self::list_balances_200_response__embedded::ListBalances200ResponseEmbedded; +pub mod list_capabilities_200_response; +pub use self::list_capabilities_200_response::ListCapabilities200Response; +pub mod list_capabilities_200_response__embedded; +pub use self::list_capabilities_200_response__embedded::ListCapabilities200ResponseEmbedded; +pub mod list_capabilities_200_response__links; +pub use self::list_capabilities_200_response__links::ListCapabilities200ResponseLinks; +pub mod list_capabilities_200_response__links_documentation; +pub use self::list_capabilities_200_response__links_documentation::ListCapabilities200ResponseLinksDocumentation; +pub mod list_clients_200_response; +pub use self::list_clients_200_response::ListClients200Response; +pub mod list_clients_200_response__embedded; +pub use self::list_clients_200_response__embedded::ListClients200ResponseEmbedded; +pub mod list_clients_200_response__embedded_clients_inner; +pub use self::list_clients_200_response__embedded_clients_inner::ListClients200ResponseEmbeddedClientsInner; +pub mod list_clients_200_response__embedded_clients_inner_all_of__embedded; +pub use self::list_clients_200_response__embedded_clients_inner_all_of__embedded::ListClients200ResponseEmbeddedClientsInnerAllOfEmbedded; +pub mod list_connect_balance_transfers_200_response; +pub use self::list_connect_balance_transfers_200_response::ListConnectBalanceTransfers200Response; +pub mod list_connect_balance_transfers_200_response__embedded; +pub use self::list_connect_balance_transfers_200_response__embedded::ListConnectBalanceTransfers200ResponseEmbedded; +pub mod list_customers_200_response; +pub use self::list_customers_200_response::ListCustomers200Response; +pub mod list_customers_200_response__embedded; +pub use self::list_customers_200_response__embedded::ListCustomers200ResponseEmbedded; +pub mod list_invoices_200_response; +pub use self::list_invoices_200_response::ListInvoices200Response; +pub mod list_invoices_200_response__embedded; +pub use self::list_invoices_200_response__embedded::ListInvoices200ResponseEmbedded; +pub mod list_links; +pub use self::list_links::ListLinks; +pub mod list_mandates_200_response; +pub use self::list_mandates_200_response::ListMandates200Response; +pub mod list_mandates_200_response__embedded; +pub use self::list_mandates_200_response__embedded::ListMandates200ResponseEmbedded; +pub mod list_methods_200_response; +pub use self::list_methods_200_response::ListMethods200Response; +pub mod list_methods_200_response__embedded; +pub use self::list_methods_200_response__embedded::ListMethods200ResponseEmbedded; +pub mod list_methods_200_response__links; +pub use self::list_methods_200_response__links::ListMethods200ResponseLinks; +pub mod list_payment_links_200_response; +pub use self::list_payment_links_200_response::ListPaymentLinks200Response; +pub mod list_payment_links_200_response__embedded; +pub use self::list_payment_links_200_response__embedded::ListPaymentLinks200ResponseEmbedded; +pub mod list_permissions_200_response; +pub use self::list_permissions_200_response::ListPermissions200Response; +pub mod list_permissions_200_response__embedded; +pub use self::list_permissions_200_response__embedded::ListPermissions200ResponseEmbedded; +pub mod list_permissions_200_response__links; +pub use self::list_permissions_200_response__links::ListPermissions200ResponseLinks; +pub mod list_profiles_200_response; +pub use self::list_profiles_200_response::ListProfiles200Response; +pub mod list_profiles_200_response__embedded; +pub use self::list_profiles_200_response__embedded::ListProfiles200ResponseEmbedded; +pub mod list_sales_invoices_200_response; +pub use self::list_sales_invoices_200_response::ListSalesInvoices200Response; +pub mod list_sales_invoices_200_response__embedded; +pub use self::list_sales_invoices_200_response__embedded::ListSalesInvoices200ResponseEmbedded; +pub mod list_settlement_captures_200_response; +pub use self::list_settlement_captures_200_response::ListSettlementCaptures200Response; +pub mod list_settlement_captures_200_response__embedded; +pub use self::list_settlement_captures_200_response__embedded::ListSettlementCaptures200ResponseEmbedded; +pub mod list_settlement_chargebacks_200_response; +pub use self::list_settlement_chargebacks_200_response::ListSettlementChargebacks200Response; +pub mod list_settlement_chargebacks_200_response__embedded; +pub use self::list_settlement_chargebacks_200_response__embedded::ListSettlementChargebacks200ResponseEmbedded; +pub mod list_settlement_payments_200_response; +pub use self::list_settlement_payments_200_response::ListSettlementPayments200Response; +pub mod list_settlement_payments_200_response__embedded; +pub use self::list_settlement_payments_200_response__embedded::ListSettlementPayments200ResponseEmbedded; +pub mod list_settlement_refunds_200_response; +pub use self::list_settlement_refunds_200_response::ListSettlementRefunds200Response; +pub mod list_settlement_refunds_200_response__embedded; +pub use self::list_settlement_refunds_200_response__embedded::ListSettlementRefunds200ResponseEmbedded; +pub mod list_settlements_200_response; +pub use self::list_settlements_200_response::ListSettlements200Response; +pub mod list_settlements_200_response__embedded; +pub use self::list_settlements_200_response__embedded::ListSettlements200ResponseEmbedded; +pub mod list_subscriptions_200_response; +pub use self::list_subscriptions_200_response::ListSubscriptions200Response; +pub mod list_subscriptions_200_response__embedded; +pub use self::list_subscriptions_200_response__embedded::ListSubscriptions200ResponseEmbedded; +pub mod list_terminals_200_response; +pub use self::list_terminals_200_response::ListTerminals200Response; +pub mod list_terminals_200_response__embedded; +pub use self::list_terminals_200_response__embedded::ListTerminals200ResponseEmbedded; +pub mod list_webhooks_200_response; +pub use self::list_webhooks_200_response::ListWebhooks200Response; +pub mod list_webhooks_200_response__embedded; +pub use self::list_webhooks_200_response__embedded::ListWebhooks200ResponseEmbedded; +pub mod locale; +pub use self::locale::Locale; +pub mod locale_response; +pub use self::locale_response::LocaleResponse; +pub mod mandate_details_card_label; +pub use self::mandate_details_card_label::MandateDetailsCardLabel; +pub mod mandate_details_card_label_response; +pub use self::mandate_details_card_label_response::MandateDetailsCardLabelResponse; +pub mod mandate_method; +pub use self::mandate_method::MandateMethod; +pub mod mandate_method_response; +pub use self::mandate_method_response::MandateMethodResponse; +pub mod mandate_request; +pub use self::mandate_request::MandateRequest; +pub mod mandate_response; +pub use self::mandate_response::MandateResponse; +pub mod mandate_status; +pub use self::mandate_status::MandateStatus; +pub mod metadata; +pub use self::metadata::Metadata; +pub mod method; +pub use self::method::Method; +pub mod method_issuer_status; +pub use self::method_issuer_status::MethodIssuerStatus; +pub mod method_response; +pub use self::method_response::MethodResponse; +pub mod method_status; +pub use self::method_status::MethodStatus; +pub mod mode; +pub use self::mode::Mode; +pub mod onboarding_status; +pub use self::onboarding_status::OnboardingStatus; +pub mod organization_vat_regulation; +pub use self::organization_vat_regulation::OrganizationVatRegulation; +pub mod payment_address; +pub use self::payment_address::PaymentAddress; +pub mod payment_details_card_audition; +pub use self::payment_details_card_audition::PaymentDetailsCardAudition; +pub mod payment_details_card_audition_response; +pub use self::payment_details_card_audition_response::PaymentDetailsCardAuditionResponse; +pub mod payment_details_card_funding; +pub use self::payment_details_card_funding::PaymentDetailsCardFunding; +pub mod payment_details_card_funding_response; +pub use self::payment_details_card_funding_response::PaymentDetailsCardFundingResponse; +pub mod payment_details_card_label; +pub use self::payment_details_card_label::PaymentDetailsCardLabel; +pub mod payment_details_card_label_response; +pub use self::payment_details_card_label_response::PaymentDetailsCardLabelResponse; +pub mod payment_details_card_security; +pub use self::payment_details_card_security::PaymentDetailsCardSecurity; +pub mod payment_details_card_security_response; +pub use self::payment_details_card_security_response::PaymentDetailsCardSecurityResponse; +pub mod payment_details_failure_reason; +pub use self::payment_details_failure_reason::PaymentDetailsFailureReason; +pub mod payment_details_failure_reason_response; +pub use self::payment_details_failure_reason_response::PaymentDetailsFailureReasonResponse; +pub mod payment_details_fee_region; +pub use self::payment_details_fee_region::PaymentDetailsFeeRegion; +pub mod payment_details_fee_region_response; +pub use self::payment_details_fee_region_response::PaymentDetailsFeeRegionResponse; +pub mod payment_details_receipt_card_read_method; +pub use self::payment_details_receipt_card_read_method::PaymentDetailsReceiptCardReadMethod; +pub mod payment_details_receipt_card_read_method_response; +pub use self::payment_details_receipt_card_read_method_response::PaymentDetailsReceiptCardReadMethodResponse; +pub mod payment_details_receipt_card_verification_method; +pub use self::payment_details_receipt_card_verification_method::PaymentDetailsReceiptCardVerificationMethod; +pub mod payment_details_receipt_card_verification_method_response; +pub use self::payment_details_receipt_card_verification_method_response::PaymentDetailsReceiptCardVerificationMethodResponse; +pub mod payment_details_seller_protection; +pub use self::payment_details_seller_protection::PaymentDetailsSellerProtection; +pub mod payment_details_seller_protection_response; +pub use self::payment_details_seller_protection_response::PaymentDetailsSellerProtectionResponse; +pub mod payment_details_wallet; +pub use self::payment_details_wallet::PaymentDetailsWallet; +pub mod payment_details_wallet_response; +pub use self::payment_details_wallet_response::PaymentDetailsWalletResponse; +pub mod payment_line_item; +pub use self::payment_line_item::PaymentLineItem; +pub mod payment_line_item_response; +pub use self::payment_line_item_response::PaymentLineItemResponse; +pub mod payment_line_type; +pub use self::payment_line_type::PaymentLineType; +pub mod payment_line_type_response; +pub use self::payment_line_type_response::PaymentLineTypeResponse; +pub mod payment_link_response; +pub use self::payment_link_response::PaymentLinkResponse; +pub mod payment_link_sequence_type; +pub use self::payment_link_sequence_type::PaymentLinkSequenceType; +pub mod payment_link_sequence_type_response; +pub use self::payment_link_sequence_type_response::PaymentLinkSequenceTypeResponse; +pub mod payment_list_routes_200_response; +pub use self::payment_list_routes_200_response::PaymentListRoutes200Response; +pub mod payment_list_routes_200_response__embedded; +pub use self::payment_list_routes_200_response__embedded::PaymentListRoutes200ResponseEmbedded; +pub mod payment_list_routes_200_response__links; +pub use self::payment_list_routes_200_response__links::PaymentListRoutes200ResponseLinks; +pub mod payment_method; +pub use self::payment_method::PaymentMethod; +pub mod payment_request; +pub use self::payment_request::PaymentRequest; +pub mod payment_response; +pub use self::payment_response::PaymentResponse; +pub mod payment_status; +pub use self::payment_status::PaymentStatus; +pub mod profile_review_status; +pub use self::profile_review_status::ProfileReviewStatus; +pub mod profile_review_status_response; +pub use self::profile_review_status_response::ProfileReviewStatusResponse; +pub mod profile_status; +pub use self::profile_status::ProfileStatus; +pub mod _profiles__profile_id__methods__id__profile_id_parameter; +pub use self::_profiles__profile_id__methods__id__profile_id_parameter::ProfilesProfileIdMethodsIdProfileIdParameter; +pub mod recurring_line_item; +pub use self::recurring_line_item::RecurringLineItem; +pub mod refund_external_reference_type; +pub use self::refund_external_reference_type::RefundExternalReferenceType; +pub mod refund_external_reference_type_response; +pub use self::refund_external_reference_type_response::RefundExternalReferenceTypeResponse; +pub mod refund_request; +pub use self::refund_request::RefundRequest; +pub mod refund_routing_reversals_source_type; +pub use self::refund_routing_reversals_source_type::RefundRoutingReversalsSourceType; +pub mod refund_status; +pub use self::refund_status::RefundStatus; +pub mod release_authorization_request; +pub use self::release_authorization_request::ReleaseAuthorizationRequest; +pub mod request_apple_pay_payment_session_request; +pub use self::request_apple_pay_payment_session_request::RequestApplePayPaymentSessionRequest; +pub mod route_create_request; +pub use self::route_create_request::RouteCreateRequest; +pub mod route_create_request_destination; +pub use self::route_create_request_destination::RouteCreateRequestDestination; +pub mod route_create_response; +pub use self::route_create_response::RouteCreateResponse; +pub mod route_destination_type; +pub use self::route_destination_type::RouteDestinationType; +pub mod route_destination_type_response; +pub use self::route_destination_type_response::RouteDestinationTypeResponse; +pub mod route_get_response; +pub use self::route_get_response::RouteGetResponse; +pub mod sales_invoice_discount; +pub use self::sales_invoice_discount::SalesInvoiceDiscount; +pub mod sales_invoice_discount_response; +pub use self::sales_invoice_discount_response::SalesInvoiceDiscountResponse; +pub mod sales_invoice_discount_type; +pub use self::sales_invoice_discount_type::SalesInvoiceDiscountType; +pub mod sales_invoice_discount_type_response; +pub use self::sales_invoice_discount_type_response::SalesInvoiceDiscountTypeResponse; +pub mod sales_invoice_email_details; +pub use self::sales_invoice_email_details::SalesInvoiceEmailDetails; +pub mod sales_invoice_line_item; +pub use self::sales_invoice_line_item::SalesInvoiceLineItem; +pub mod sales_invoice_line_item_response; +pub use self::sales_invoice_line_item_response::SalesInvoiceLineItemResponse; +pub mod sales_invoice_payment_details; +pub use self::sales_invoice_payment_details::SalesInvoicePaymentDetails; +pub mod sales_invoice_payment_details_response; +pub use self::sales_invoice_payment_details_response::SalesInvoicePaymentDetailsResponse; +pub mod sales_invoice_payment_details_source; +pub use self::sales_invoice_payment_details_source::SalesInvoicePaymentDetailsSource; +pub mod sales_invoice_payment_details_source_response; +pub use self::sales_invoice_payment_details_source_response::SalesInvoicePaymentDetailsSourceResponse; +pub mod sales_invoice_payment_term; +pub use self::sales_invoice_payment_term::SalesInvoicePaymentTerm; +pub mod sales_invoice_payment_term_response; +pub use self::sales_invoice_payment_term_response::SalesInvoicePaymentTermResponse; +pub mod sales_invoice_recipient; +pub use self::sales_invoice_recipient::SalesInvoiceRecipient; +pub mod sales_invoice_recipient_locale; +pub use self::sales_invoice_recipient_locale::SalesInvoiceRecipientLocale; +pub mod sales_invoice_recipient_locale_response; +pub use self::sales_invoice_recipient_locale_response::SalesInvoiceRecipientLocaleResponse; +pub mod sales_invoice_recipient_response; +pub use self::sales_invoice_recipient_response::SalesInvoiceRecipientResponse; +pub mod sales_invoice_recipient_type; +pub use self::sales_invoice_recipient_type::SalesInvoiceRecipientType; +pub mod sales_invoice_recipient_type_response; +pub use self::sales_invoice_recipient_type_response::SalesInvoiceRecipientTypeResponse; +pub mod sales_invoice_status; +pub use self::sales_invoice_status::SalesInvoiceStatus; +pub mod sales_invoice_status_response; +pub use self::sales_invoice_status_response::SalesInvoiceStatusResponse; +pub mod sales_invoice_vat_mode; +pub use self::sales_invoice_vat_mode::SalesInvoiceVatMode; +pub mod sales_invoice_vat_mode_response; +pub use self::sales_invoice_vat_mode_response::SalesInvoiceVatModeResponse; +pub mod sales_invoice_vat_scheme; +pub use self::sales_invoice_vat_scheme::SalesInvoiceVatScheme; +pub mod sales_invoice_vat_scheme_response; +pub use self::sales_invoice_vat_scheme_response::SalesInvoiceVatSchemeResponse; +pub mod sequence_type; +pub use self::sequence_type::SequenceType; +pub mod sequence_type_response; +pub use self::sequence_type_response::SequenceTypeResponse; +pub mod settlement_status; +pub use self::settlement_status::SettlementStatus; +pub mod status_reason; +pub use self::status_reason::StatusReason; +pub mod sub_group; +pub use self::sub_group::SubGroup; +pub mod sub_totals; +pub use self::sub_totals::SubTotals; +pub mod submit_onboarding_data_request; +pub use self::submit_onboarding_data_request::SubmitOnboardingDataRequest; +pub mod submit_onboarding_data_request_organization; +pub use self::submit_onboarding_data_request_organization::SubmitOnboardingDataRequestOrganization; +pub mod submit_onboarding_data_request_profile; +pub use self::submit_onboarding_data_request_profile::SubmitOnboardingDataRequestProfile; +pub mod subscription_method; +pub use self::subscription_method::SubscriptionMethod; +pub mod subscription_method_response; +pub use self::subscription_method_response::SubscriptionMethodResponse; +pub mod subscription_request; +pub use self::subscription_request::SubscriptionRequest; +pub mod subscription_response; +pub use self::subscription_response::SubscriptionResponse; +pub mod subscription_status; +pub use self::subscription_status::SubscriptionStatus; +pub mod terminal_brand; +pub use self::terminal_brand::TerminalBrand; +pub mod terminal_model; +pub use self::terminal_model::TerminalModel; +pub mod terminal_status; +pub use self::terminal_status::TerminalStatus; +pub mod update_payment_link_request; +pub use self::update_payment_link_request::UpdatePaymentLinkRequest; +pub mod update_payment_request; +pub use self::update_payment_request::UpdatePaymentRequest; +pub mod update_profile_request; +pub use self::update_profile_request::UpdateProfileRequest; +pub mod update_subscription_request; +pub use self::update_subscription_request::UpdateSubscriptionRequest; +pub mod update_values_sales_invoice; +pub use self::update_values_sales_invoice::UpdateValuesSalesInvoice; +pub mod update_webhook_request; +pub use self::update_webhook_request::UpdateWebhookRequest; +pub mod url; +pub use self::url::Url; +pub mod url_nullable; +pub use self::url_nullable::UrlNullable; +pub mod voucher; +pub use self::voucher::Voucher; +pub mod voucher_contractor; +pub use self::voucher_contractor::VoucherContractor; +pub mod voucher_image; +pub use self::voucher_image::VoucherImage; +pub mod webhook_event_types; +pub use self::webhook_event_types::WebhookEventTypes; +pub mod webhook_event_types_response; +pub use self::webhook_event_types_response::WebhookEventTypesResponse; +pub mod webhook_status; +pub use self::webhook_status::WebhookStatus; diff --git a/src/models/mode.rs b/src/models/mode.rs new file mode 100644 index 0000000..2c70e8e --- /dev/null +++ b/src/models/mode.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Mode : Whether this entity was created in live mode or in test mode. +/// Whether this entity was created in live mode or in test mode. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Mode { + #[serde(rename = "live")] + Live, + #[serde(rename = "test")] + Test, + +} + +impl std::fmt::Display for Mode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Live => write!(f, "live"), + Self::Test => write!(f, "test"), + } + } +} + +impl Default for Mode { + fn default() -> Mode { + Self::Live + } +} + diff --git a/src/models/onboarding_status.rs b/src/models/onboarding_status.rs new file mode 100644 index 0000000..c58028b --- /dev/null +++ b/src/models/onboarding_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OnboardingStatus : The current status of the organization's onboarding process. +/// The current status of the organization's onboarding process. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OnboardingStatus { + #[serde(rename = "needs-data")] + NeedsData, + #[serde(rename = "in-review")] + InReview, + #[serde(rename = "completed")] + Completed, + +} + +impl std::fmt::Display for OnboardingStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NeedsData => write!(f, "needs-data"), + Self::InReview => write!(f, "in-review"), + Self::Completed => write!(f, "completed"), + } + } +} + +impl Default for OnboardingStatus { + fn default() -> OnboardingStatus { + Self::NeedsData + } +} + diff --git a/src/models/organization_vat_regulation.rs b/src/models/organization_vat_regulation.rs new file mode 100644 index 0000000..8309f1f --- /dev/null +++ b/src/models/organization_vat_regulation.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// OrganizationVatRegulation : Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United Kingdom, and shifted VAT for merchants in the European Union. The field is not present for merchants residing in other countries. +/// Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United Kingdom, and shifted VAT for merchants in the European Union. The field is not present for merchants residing in other countries. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum OrganizationVatRegulation { + #[serde(rename = "dutch")] + Dutch, + #[serde(rename = "british")] + British, + #[serde(rename = "shifted")] + Shifted, + +} + +impl std::fmt::Display for OrganizationVatRegulation { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Dutch => write!(f, "dutch"), + Self::British => write!(f, "british"), + Self::Shifted => write!(f, "shifted"), + } + } +} + +impl Default for OrganizationVatRegulation { + fn default() -> OrganizationVatRegulation { + Self::Dutch + } +} + diff --git a/src/models/payment_address.rs b/src/models/payment_address.rs new file mode 100644 index 0000000..73e058e --- /dev/null +++ b/src/models/payment_address.rs @@ -0,0 +1,72 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentAddress { + /// The title of the person, for example *Mr.* or *Mrs.*. + #[serde(rename = "title", skip_serializing_if = "Option::is_none")] + pub title: Option, + /// The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "givenName", skip_serializing_if = "Option::is_none")] + pub given_name: Option, + /// The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "familyName", skip_serializing_if = "Option::is_none")] + pub family_name: Option, + /// The name of the organization, in case the addressee is an organization. + #[serde(rename = "organizationName", skip_serializing_if = "Option::is_none")] + pub organization_name: Option, + /// A street and street number. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "streetAndNumber", skip_serializing_if = "Option::is_none")] + pub street_and_number: Option, + /// Any additional addressing details, for example an apartment number. + #[serde(rename = "streetAdditional", skip_serializing_if = "Option::is_none")] + pub street_additional: Option, + /// A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "postalCode", skip_serializing_if = "Option::is_none")] + pub postal_code: Option, + /// A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// A city name. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "city", skip_serializing_if = "Option::is_none")] + pub city: Option, + /// The top-level administrative subdivision of the country. For example: Noord-Holland. + #[serde(rename = "region", skip_serializing_if = "Option::is_none")] + pub region: Option, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `billie`, `in3`, `klarna` and `riverty`. + #[serde(rename = "country", skip_serializing_if = "Option::is_none")] + pub country: Option, +} + +impl PaymentAddress { + pub fn new() -> PaymentAddress { + PaymentAddress { + title: None, + given_name: None, + family_name: None, + organization_name: None, + street_and_number: None, + street_additional: None, + postal_code: None, + email: None, + phone: None, + city: None, + region: None, + country: None, + } + } +} + diff --git a/src/models/payment_details_card_audition.rs b/src/models/payment_details_card_audition.rs new file mode 100644 index 0000000..be3297e --- /dev/null +++ b/src/models/payment_details_card_audition.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardAudition : The card's target audience, if known. +/// The card's target audience, if known. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardAudition { + #[serde(rename = "consumer")] + Consumer, + #[serde(rename = "business")] + Business, + +} + +impl std::fmt::Display for PaymentDetailsCardAudition { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Consumer => write!(f, "consumer"), + Self::Business => write!(f, "business"), + } + } +} + +impl Default for PaymentDetailsCardAudition { + fn default() -> PaymentDetailsCardAudition { + Self::Consumer + } +} + diff --git a/src/models/payment_details_card_audition_response.rs b/src/models/payment_details_card_audition_response.rs new file mode 100644 index 0000000..633a9c1 --- /dev/null +++ b/src/models/payment_details_card_audition_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardAuditionResponse : The card's target audience, if known. +/// The card's target audience, if known. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardAuditionResponse { + #[serde(rename = "consumer")] + Consumer, + #[serde(rename = "business")] + Business, + +} + +impl std::fmt::Display for PaymentDetailsCardAuditionResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Consumer => write!(f, "consumer"), + Self::Business => write!(f, "business"), + } + } +} + +impl Default for PaymentDetailsCardAuditionResponse { + fn default() -> PaymentDetailsCardAuditionResponse { + Self::Consumer + } +} + diff --git a/src/models/payment_details_card_funding.rs b/src/models/payment_details_card_funding.rs new file mode 100644 index 0000000..49db1b1 --- /dev/null +++ b/src/models/payment_details_card_funding.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardFunding : The card type. +/// The card type. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardFunding { + #[serde(rename = "debit")] + Debit, + #[serde(rename = "credit")] + Credit, + #[serde(rename = "prepaid")] + Prepaid, + #[serde(rename = "deferred-debit")] + DeferredDebit, + +} + +impl std::fmt::Display for PaymentDetailsCardFunding { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Debit => write!(f, "debit"), + Self::Credit => write!(f, "credit"), + Self::Prepaid => write!(f, "prepaid"), + Self::DeferredDebit => write!(f, "deferred-debit"), + } + } +} + +impl Default for PaymentDetailsCardFunding { + fn default() -> PaymentDetailsCardFunding { + Self::Debit + } +} + diff --git a/src/models/payment_details_card_funding_response.rs b/src/models/payment_details_card_funding_response.rs new file mode 100644 index 0000000..4a397fc --- /dev/null +++ b/src/models/payment_details_card_funding_response.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardFundingResponse : The card type. +/// The card type. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardFundingResponse { + #[serde(rename = "debit")] + Debit, + #[serde(rename = "credit")] + Credit, + #[serde(rename = "prepaid")] + Prepaid, + #[serde(rename = "deferred-debit")] + DeferredDebit, + +} + +impl std::fmt::Display for PaymentDetailsCardFundingResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Debit => write!(f, "debit"), + Self::Credit => write!(f, "credit"), + Self::Prepaid => write!(f, "prepaid"), + Self::DeferredDebit => write!(f, "deferred-debit"), + } + } +} + +impl Default for PaymentDetailsCardFundingResponse { + fn default() -> PaymentDetailsCardFundingResponse { + Self::Debit + } +} + diff --git a/src/models/payment_details_card_label.rs b/src/models/payment_details_card_label.rs new file mode 100644 index 0000000..89f47cc --- /dev/null +++ b/src/models/payment_details_card_label.rs @@ -0,0 +1,72 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardLabel : The card's label, if known. +/// The card's label, if known. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardLabel { + #[serde(rename = "American Express")] + AmericanExpress, + #[serde(rename = "Carta Si")] + CartaSi, + #[serde(rename = "Carte Bleue")] + CarteBleue, + #[serde(rename = "Dankort")] + Dankort, + #[serde(rename = "Diners Club")] + DinersClub, + #[serde(rename = "Discover")] + Discover, + #[serde(rename = "JCB")] + Jcb, + #[serde(rename = "Laser")] + Laser, + #[serde(rename = "Maestro")] + Maestro, + #[serde(rename = "Mastercard")] + Mastercard, + #[serde(rename = "Unionpay")] + Unionpay, + #[serde(rename = "Visa")] + Visa, + #[serde(rename = "Vpay")] + Vpay, + +} + +impl std::fmt::Display for PaymentDetailsCardLabel { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "American Express"), + Self::CartaSi => write!(f, "Carta Si"), + Self::CarteBleue => write!(f, "Carte Bleue"), + Self::Dankort => write!(f, "Dankort"), + Self::DinersClub => write!(f, "Diners Club"), + Self::Discover => write!(f, "Discover"), + Self::Jcb => write!(f, "JCB"), + Self::Laser => write!(f, "Laser"), + Self::Maestro => write!(f, "Maestro"), + Self::Mastercard => write!(f, "Mastercard"), + Self::Unionpay => write!(f, "Unionpay"), + Self::Visa => write!(f, "Visa"), + Self::Vpay => write!(f, "Vpay"), + } + } +} + +impl Default for PaymentDetailsCardLabel { + fn default() -> PaymentDetailsCardLabel { + Self::AmericanExpress + } +} + diff --git a/src/models/payment_details_card_label_response.rs b/src/models/payment_details_card_label_response.rs new file mode 100644 index 0000000..7dd071d --- /dev/null +++ b/src/models/payment_details_card_label_response.rs @@ -0,0 +1,72 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardLabelResponse : The card's label, if known. +/// The card's label, if known. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardLabelResponse { + #[serde(rename = "American Express")] + AmericanExpress, + #[serde(rename = "Carta Si")] + CartaSi, + #[serde(rename = "Carte Bleue")] + CarteBleue, + #[serde(rename = "Dankort")] + Dankort, + #[serde(rename = "Diners Club")] + DinersClub, + #[serde(rename = "Discover")] + Discover, + #[serde(rename = "JCB")] + Jcb, + #[serde(rename = "Laser")] + Laser, + #[serde(rename = "Maestro")] + Maestro, + #[serde(rename = "Mastercard")] + Mastercard, + #[serde(rename = "Unionpay")] + Unionpay, + #[serde(rename = "Visa")] + Visa, + #[serde(rename = "Vpay")] + Vpay, + +} + +impl std::fmt::Display for PaymentDetailsCardLabelResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "American Express"), + Self::CartaSi => write!(f, "Carta Si"), + Self::CarteBleue => write!(f, "Carte Bleue"), + Self::Dankort => write!(f, "Dankort"), + Self::DinersClub => write!(f, "Diners Club"), + Self::Discover => write!(f, "Discover"), + Self::Jcb => write!(f, "JCB"), + Self::Laser => write!(f, "Laser"), + Self::Maestro => write!(f, "Maestro"), + Self::Mastercard => write!(f, "Mastercard"), + Self::Unionpay => write!(f, "Unionpay"), + Self::Visa => write!(f, "Visa"), + Self::Vpay => write!(f, "Vpay"), + } + } +} + +impl Default for PaymentDetailsCardLabelResponse { + fn default() -> PaymentDetailsCardLabelResponse { + Self::AmericanExpress + } +} + diff --git a/src/models/payment_details_card_security.rs b/src/models/payment_details_card_security.rs new file mode 100644 index 0000000..377fc68 --- /dev/null +++ b/src/models/payment_details_card_security.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardSecurity : The level of security applied during card processing. +/// The level of security applied during card processing. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardSecurity { + #[serde(rename = "normal")] + Normal, + #[serde(rename = "3dsecure")] + Variant3dsecure, + +} + +impl std::fmt::Display for PaymentDetailsCardSecurity { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Normal => write!(f, "normal"), + Self::Variant3dsecure => write!(f, "3dsecure"), + } + } +} + +impl Default for PaymentDetailsCardSecurity { + fn default() -> PaymentDetailsCardSecurity { + Self::Normal + } +} + diff --git a/src/models/payment_details_card_security_response.rs b/src/models/payment_details_card_security_response.rs new file mode 100644 index 0000000..2eea6ec --- /dev/null +++ b/src/models/payment_details_card_security_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsCardSecurityResponse : The level of security applied during card processing. +/// The level of security applied during card processing. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsCardSecurityResponse { + #[serde(rename = "normal")] + Normal, + #[serde(rename = "3dsecure")] + Variant3dsecure, + +} + +impl std::fmt::Display for PaymentDetailsCardSecurityResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Normal => write!(f, "normal"), + Self::Variant3dsecure => write!(f, "3dsecure"), + } + } +} + +impl Default for PaymentDetailsCardSecurityResponse { + fn default() -> PaymentDetailsCardSecurityResponse { + Self::Normal + } +} + diff --git a/src/models/payment_details_failure_reason.rs b/src/models/payment_details_failure_reason.rs new file mode 100644 index 0000000..da7d5cd --- /dev/null +++ b/src/models/payment_details_failure_reason.rs @@ -0,0 +1,78 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsFailureReason : A failure code to help understand why the payment failed. +/// A failure code to help understand why the payment failed. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsFailureReason { + #[serde(rename = "authentication_abandoned")] + AuthenticationAbandoned, + #[serde(rename = "authentication_failed")] + AuthenticationFailed, + #[serde(rename = "authentication_required")] + AuthenticationRequired, + #[serde(rename = "authentication_unavailable_acs")] + AuthenticationUnavailableAcs, + #[serde(rename = "card_declined")] + CardDeclined, + #[serde(rename = "card_expired")] + CardExpired, + #[serde(rename = "inactive_card")] + InactiveCard, + #[serde(rename = "insufficient_funds")] + InsufficientFunds, + #[serde(rename = "invalid_cvv")] + InvalidCvv, + #[serde(rename = "invalid_card_holder_name")] + InvalidCardHolderName, + #[serde(rename = "invalid_card_number")] + InvalidCardNumber, + #[serde(rename = "invalid_card_type")] + InvalidCardType, + #[serde(rename = "possible_fraud")] + PossibleFraud, + #[serde(rename = "refused_by_issuer")] + RefusedByIssuer, + #[serde(rename = "unknown_reason")] + UnknownReason, + +} + +impl std::fmt::Display for PaymentDetailsFailureReason { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AuthenticationAbandoned => write!(f, "authentication_abandoned"), + Self::AuthenticationFailed => write!(f, "authentication_failed"), + Self::AuthenticationRequired => write!(f, "authentication_required"), + Self::AuthenticationUnavailableAcs => write!(f, "authentication_unavailable_acs"), + Self::CardDeclined => write!(f, "card_declined"), + Self::CardExpired => write!(f, "card_expired"), + Self::InactiveCard => write!(f, "inactive_card"), + Self::InsufficientFunds => write!(f, "insufficient_funds"), + Self::InvalidCvv => write!(f, "invalid_cvv"), + Self::InvalidCardHolderName => write!(f, "invalid_card_holder_name"), + Self::InvalidCardNumber => write!(f, "invalid_card_number"), + Self::InvalidCardType => write!(f, "invalid_card_type"), + Self::PossibleFraud => write!(f, "possible_fraud"), + Self::RefusedByIssuer => write!(f, "refused_by_issuer"), + Self::UnknownReason => write!(f, "unknown_reason"), + } + } +} + +impl Default for PaymentDetailsFailureReason { + fn default() -> PaymentDetailsFailureReason { + Self::AuthenticationAbandoned + } +} + diff --git a/src/models/payment_details_failure_reason_response.rs b/src/models/payment_details_failure_reason_response.rs new file mode 100644 index 0000000..cc0c43f --- /dev/null +++ b/src/models/payment_details_failure_reason_response.rs @@ -0,0 +1,78 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsFailureReasonResponse : A failure code to help understand why the payment failed. +/// A failure code to help understand why the payment failed. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsFailureReasonResponse { + #[serde(rename = "authentication_abandoned")] + AuthenticationAbandoned, + #[serde(rename = "authentication_failed")] + AuthenticationFailed, + #[serde(rename = "authentication_required")] + AuthenticationRequired, + #[serde(rename = "authentication_unavailable_acs")] + AuthenticationUnavailableAcs, + #[serde(rename = "card_declined")] + CardDeclined, + #[serde(rename = "card_expired")] + CardExpired, + #[serde(rename = "inactive_card")] + InactiveCard, + #[serde(rename = "insufficient_funds")] + InsufficientFunds, + #[serde(rename = "invalid_cvv")] + InvalidCvv, + #[serde(rename = "invalid_card_holder_name")] + InvalidCardHolderName, + #[serde(rename = "invalid_card_number")] + InvalidCardNumber, + #[serde(rename = "invalid_card_type")] + InvalidCardType, + #[serde(rename = "possible_fraud")] + PossibleFraud, + #[serde(rename = "refused_by_issuer")] + RefusedByIssuer, + #[serde(rename = "unknown_reason")] + UnknownReason, + +} + +impl std::fmt::Display for PaymentDetailsFailureReasonResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AuthenticationAbandoned => write!(f, "authentication_abandoned"), + Self::AuthenticationFailed => write!(f, "authentication_failed"), + Self::AuthenticationRequired => write!(f, "authentication_required"), + Self::AuthenticationUnavailableAcs => write!(f, "authentication_unavailable_acs"), + Self::CardDeclined => write!(f, "card_declined"), + Self::CardExpired => write!(f, "card_expired"), + Self::InactiveCard => write!(f, "inactive_card"), + Self::InsufficientFunds => write!(f, "insufficient_funds"), + Self::InvalidCvv => write!(f, "invalid_cvv"), + Self::InvalidCardHolderName => write!(f, "invalid_card_holder_name"), + Self::InvalidCardNumber => write!(f, "invalid_card_number"), + Self::InvalidCardType => write!(f, "invalid_card_type"), + Self::PossibleFraud => write!(f, "possible_fraud"), + Self::RefusedByIssuer => write!(f, "refused_by_issuer"), + Self::UnknownReason => write!(f, "unknown_reason"), + } + } +} + +impl Default for PaymentDetailsFailureReasonResponse { + fn default() -> PaymentDetailsFailureReasonResponse { + Self::AuthenticationAbandoned + } +} + diff --git a/src/models/payment_details_fee_region.rs b/src/models/payment_details_fee_region.rs new file mode 100644 index 0000000..5dcc2bc --- /dev/null +++ b/src/models/payment_details_fee_region.rs @@ -0,0 +1,63 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsFeeRegion : The applicable card fee region. +/// The applicable card fee region. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsFeeRegion { + #[serde(rename = "american-express")] + AmericanExpress, + #[serde(rename = "amex-intra-eea")] + AmexIntraEea, + #[serde(rename = "carte-bancaire")] + CarteBancaire, + #[serde(rename = "intra-eu")] + IntraEu, + #[serde(rename = "intra-eu-corporate")] + IntraEuCorporate, + #[serde(rename = "domestic")] + Domestic, + #[serde(rename = "maestro")] + Maestro, + #[serde(rename = "other")] + Other, + #[serde(rename = "inter")] + Inter, + #[serde(rename = "intra_eea")] + IntraEea, + +} + +impl std::fmt::Display for PaymentDetailsFeeRegion { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "american-express"), + Self::AmexIntraEea => write!(f, "amex-intra-eea"), + Self::CarteBancaire => write!(f, "carte-bancaire"), + Self::IntraEu => write!(f, "intra-eu"), + Self::IntraEuCorporate => write!(f, "intra-eu-corporate"), + Self::Domestic => write!(f, "domestic"), + Self::Maestro => write!(f, "maestro"), + Self::Other => write!(f, "other"), + Self::Inter => write!(f, "inter"), + Self::IntraEea => write!(f, "intra_eea"), + } + } +} + +impl Default for PaymentDetailsFeeRegion { + fn default() -> PaymentDetailsFeeRegion { + Self::AmericanExpress + } +} + diff --git a/src/models/payment_details_fee_region_response.rs b/src/models/payment_details_fee_region_response.rs new file mode 100644 index 0000000..318ef06 --- /dev/null +++ b/src/models/payment_details_fee_region_response.rs @@ -0,0 +1,63 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsFeeRegionResponse : The applicable card fee region. +/// The applicable card fee region. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsFeeRegionResponse { + #[serde(rename = "american-express")] + AmericanExpress, + #[serde(rename = "amex-intra-eea")] + AmexIntraEea, + #[serde(rename = "carte-bancaire")] + CarteBancaire, + #[serde(rename = "intra-eu")] + IntraEu, + #[serde(rename = "intra-eu-corporate")] + IntraEuCorporate, + #[serde(rename = "domestic")] + Domestic, + #[serde(rename = "maestro")] + Maestro, + #[serde(rename = "other")] + Other, + #[serde(rename = "inter")] + Inter, + #[serde(rename = "intra_eea")] + IntraEea, + +} + +impl std::fmt::Display for PaymentDetailsFeeRegionResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AmericanExpress => write!(f, "american-express"), + Self::AmexIntraEea => write!(f, "amex-intra-eea"), + Self::CarteBancaire => write!(f, "carte-bancaire"), + Self::IntraEu => write!(f, "intra-eu"), + Self::IntraEuCorporate => write!(f, "intra-eu-corporate"), + Self::Domestic => write!(f, "domestic"), + Self::Maestro => write!(f, "maestro"), + Self::Other => write!(f, "other"), + Self::Inter => write!(f, "inter"), + Self::IntraEea => write!(f, "intra_eea"), + } + } +} + +impl Default for PaymentDetailsFeeRegionResponse { + fn default() -> PaymentDetailsFeeRegionResponse { + Self::AmericanExpress + } +} + diff --git a/src/models/payment_details_receipt_card_read_method.rs b/src/models/payment_details_receipt_card_read_method.rs new file mode 100644 index 0000000..11f17cd --- /dev/null +++ b/src/models/payment_details_receipt_card_read_method.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsReceiptCardReadMethod : The method by which the card was read by the terminal. +/// The method by which the card was read by the terminal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsReceiptCardReadMethod { + #[serde(rename = "chip")] + Chip, + #[serde(rename = "magnetic-stripe")] + MagneticStripe, + #[serde(rename = "near-field-communication")] + NearFieldCommunication, + #[serde(rename = "contactless")] + Contactless, + #[serde(rename = "moto")] + Moto, + +} + +impl std::fmt::Display for PaymentDetailsReceiptCardReadMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Chip => write!(f, "chip"), + Self::MagneticStripe => write!(f, "magnetic-stripe"), + Self::NearFieldCommunication => write!(f, "near-field-communication"), + Self::Contactless => write!(f, "contactless"), + Self::Moto => write!(f, "moto"), + } + } +} + +impl Default for PaymentDetailsReceiptCardReadMethod { + fn default() -> PaymentDetailsReceiptCardReadMethod { + Self::Chip + } +} + diff --git a/src/models/payment_details_receipt_card_read_method_response.rs b/src/models/payment_details_receipt_card_read_method_response.rs new file mode 100644 index 0000000..aae2a33 --- /dev/null +++ b/src/models/payment_details_receipt_card_read_method_response.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsReceiptCardReadMethodResponse : The method by which the card was read by the terminal. +/// The method by which the card was read by the terminal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsReceiptCardReadMethodResponse { + #[serde(rename = "chip")] + Chip, + #[serde(rename = "magnetic-stripe")] + MagneticStripe, + #[serde(rename = "near-field-communication")] + NearFieldCommunication, + #[serde(rename = "contactless")] + Contactless, + #[serde(rename = "moto")] + Moto, + +} + +impl std::fmt::Display for PaymentDetailsReceiptCardReadMethodResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Chip => write!(f, "chip"), + Self::MagneticStripe => write!(f, "magnetic-stripe"), + Self::NearFieldCommunication => write!(f, "near-field-communication"), + Self::Contactless => write!(f, "contactless"), + Self::Moto => write!(f, "moto"), + } + } +} + +impl Default for PaymentDetailsReceiptCardReadMethodResponse { + fn default() -> PaymentDetailsReceiptCardReadMethodResponse { + Self::Chip + } +} + diff --git a/src/models/payment_details_receipt_card_verification_method.rs b/src/models/payment_details_receipt_card_verification_method.rs new file mode 100644 index 0000000..9404232 --- /dev/null +++ b/src/models/payment_details_receipt_card_verification_method.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsReceiptCardVerificationMethod : The method used to verify the cardholder's identity. +/// The method used to verify the cardholder's identity. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsReceiptCardVerificationMethod { + #[serde(rename = "no-cvm-required")] + NoCvmRequired, + #[serde(rename = "online-pin")] + OnlinePin, + #[serde(rename = "offline-pin")] + OfflinePin, + #[serde(rename = "consumer-device")] + ConsumerDevice, + #[serde(rename = "signature")] + Signature, + #[serde(rename = "signature-and-online-pin")] + SignatureAndOnlinePin, + #[serde(rename = "online-pin-and-signature")] + OnlinePinAndSignature, + #[serde(rename = "none")] + None, + #[serde(rename = "failed")] + Failed, + +} + +impl std::fmt::Display for PaymentDetailsReceiptCardVerificationMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NoCvmRequired => write!(f, "no-cvm-required"), + Self::OnlinePin => write!(f, "online-pin"), + Self::OfflinePin => write!(f, "offline-pin"), + Self::ConsumerDevice => write!(f, "consumer-device"), + Self::Signature => write!(f, "signature"), + Self::SignatureAndOnlinePin => write!(f, "signature-and-online-pin"), + Self::OnlinePinAndSignature => write!(f, "online-pin-and-signature"), + Self::None => write!(f, "none"), + Self::Failed => write!(f, "failed"), + } + } +} + +impl Default for PaymentDetailsReceiptCardVerificationMethod { + fn default() -> PaymentDetailsReceiptCardVerificationMethod { + Self::NoCvmRequired + } +} + diff --git a/src/models/payment_details_receipt_card_verification_method_response.rs b/src/models/payment_details_receipt_card_verification_method_response.rs new file mode 100644 index 0000000..4e62bba --- /dev/null +++ b/src/models/payment_details_receipt_card_verification_method_response.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsReceiptCardVerificationMethodResponse : The method used to verify the cardholder's identity. +/// The method used to verify the cardholder's identity. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsReceiptCardVerificationMethodResponse { + #[serde(rename = "no-cvm-required")] + NoCvmRequired, + #[serde(rename = "online-pin")] + OnlinePin, + #[serde(rename = "offline-pin")] + OfflinePin, + #[serde(rename = "consumer-device")] + ConsumerDevice, + #[serde(rename = "signature")] + Signature, + #[serde(rename = "signature-and-online-pin")] + SignatureAndOnlinePin, + #[serde(rename = "online-pin-and-signature")] + OnlinePinAndSignature, + #[serde(rename = "none")] + None, + #[serde(rename = "failed")] + Failed, + +} + +impl std::fmt::Display for PaymentDetailsReceiptCardVerificationMethodResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::NoCvmRequired => write!(f, "no-cvm-required"), + Self::OnlinePin => write!(f, "online-pin"), + Self::OfflinePin => write!(f, "offline-pin"), + Self::ConsumerDevice => write!(f, "consumer-device"), + Self::Signature => write!(f, "signature"), + Self::SignatureAndOnlinePin => write!(f, "signature-and-online-pin"), + Self::OnlinePinAndSignature => write!(f, "online-pin-and-signature"), + Self::None => write!(f, "none"), + Self::Failed => write!(f, "failed"), + } + } +} + +impl Default for PaymentDetailsReceiptCardVerificationMethodResponse { + fn default() -> PaymentDetailsReceiptCardVerificationMethodResponse { + Self::NoCvmRequired + } +} + diff --git a/src/models/payment_details_seller_protection.rs b/src/models/payment_details_seller_protection.rs new file mode 100644 index 0000000..44ae72c --- /dev/null +++ b/src/models/payment_details_seller_protection.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsSellerProtection : Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, and if the information is made available by PayPal. +/// Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, and if the information is made available by PayPal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsSellerProtection { + #[serde(rename = "Eligible")] + Eligible, + #[serde(rename = "Ineligible")] + Ineligible, + #[serde(rename = "Partially Eligible - INR Only")] + PartiallyEligibleInrOnly, + #[serde(rename = "Partially Eligible - Unauth Only")] + PartiallyEligibleUnauthOnly, + #[serde(rename = "Partially Eligible")] + PartiallyEligible, + #[serde(rename = "None")] + None, + #[serde(rename = "Active")] + Active, + #[serde(rename = "Fraud Control - Unauth Premium Eligible")] + FraudControlUnauthPremiumEligible, + +} + +impl std::fmt::Display for PaymentDetailsSellerProtection { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Eligible => write!(f, "Eligible"), + Self::Ineligible => write!(f, "Ineligible"), + Self::PartiallyEligibleInrOnly => write!(f, "Partially Eligible - INR Only"), + Self::PartiallyEligibleUnauthOnly => write!(f, "Partially Eligible - Unauth Only"), + Self::PartiallyEligible => write!(f, "Partially Eligible"), + Self::None => write!(f, "None"), + Self::Active => write!(f, "Active"), + Self::FraudControlUnauthPremiumEligible => write!(f, "Fraud Control - Unauth Premium Eligible"), + } + } +} + +impl Default for PaymentDetailsSellerProtection { + fn default() -> PaymentDetailsSellerProtection { + Self::Eligible + } +} + diff --git a/src/models/payment_details_seller_protection_response.rs b/src/models/payment_details_seller_protection_response.rs new file mode 100644 index 0000000..812e69a --- /dev/null +++ b/src/models/payment_details_seller_protection_response.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsSellerProtectionResponse : Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, and if the information is made available by PayPal. +/// Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, and if the information is made available by PayPal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsSellerProtectionResponse { + #[serde(rename = "Eligible")] + Eligible, + #[serde(rename = "Ineligible")] + Ineligible, + #[serde(rename = "Partially Eligible - INR Only")] + PartiallyEligibleInrOnly, + #[serde(rename = "Partially Eligible - Unauth Only")] + PartiallyEligibleUnauthOnly, + #[serde(rename = "Partially Eligible")] + PartiallyEligible, + #[serde(rename = "None")] + None, + #[serde(rename = "Active")] + Active, + #[serde(rename = "Fraud Control - Unauth Premium Eligible")] + FraudControlUnauthPremiumEligible, + +} + +impl std::fmt::Display for PaymentDetailsSellerProtectionResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Eligible => write!(f, "Eligible"), + Self::Ineligible => write!(f, "Ineligible"), + Self::PartiallyEligibleInrOnly => write!(f, "Partially Eligible - INR Only"), + Self::PartiallyEligibleUnauthOnly => write!(f, "Partially Eligible - Unauth Only"), + Self::PartiallyEligible => write!(f, "Partially Eligible"), + Self::None => write!(f, "None"), + Self::Active => write!(f, "Active"), + Self::FraudControlUnauthPremiumEligible => write!(f, "Fraud Control - Unauth Premium Eligible"), + } + } +} + +impl Default for PaymentDetailsSellerProtectionResponse { + fn default() -> PaymentDetailsSellerProtectionResponse { + Self::Eligible + } +} + diff --git a/src/models/payment_details_wallet.rs b/src/models/payment_details_wallet.rs new file mode 100644 index 0000000..80a2f5b --- /dev/null +++ b/src/models/payment_details_wallet.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsWallet : The wallet used when creating the payment. +/// The wallet used when creating the payment. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsWallet { + #[serde(rename = "applepay")] + Applepay, + +} + +impl std::fmt::Display for PaymentDetailsWallet { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Applepay => write!(f, "applepay"), + } + } +} + +impl Default for PaymentDetailsWallet { + fn default() -> PaymentDetailsWallet { + Self::Applepay + } +} + diff --git a/src/models/payment_details_wallet_response.rs b/src/models/payment_details_wallet_response.rs new file mode 100644 index 0000000..fe0ef03 --- /dev/null +++ b/src/models/payment_details_wallet_response.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentDetailsWalletResponse : The wallet used when creating the payment. +/// The wallet used when creating the payment. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentDetailsWalletResponse { + #[serde(rename = "applepay")] + Applepay, + +} + +impl std::fmt::Display for PaymentDetailsWalletResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Applepay => write!(f, "applepay"), + } + } +} + +impl Default for PaymentDetailsWalletResponse { + fn default() -> PaymentDetailsWalletResponse { + Self::Applepay + } +} + diff --git a/src/models/payment_line_item.rs b/src/models/payment_line_item.rs new file mode 100644 index 0000000..b7d96f0 --- /dev/null +++ b/src/models/payment_line_item.rs @@ -0,0 +1,75 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentLineItem { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The unit for the quantity. For example *pcs*, *kg*, or *cm*. + #[serde(rename = "quantityUnit", skip_serializing_if = "Option::is_none")] + pub quantity_unit: Option, + /// The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. + #[serde(rename = "discountAmount", skip_serializing_if = "Option::is_none")] + pub discount_amount: Option>, + /// The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + #[serde(rename = "totalAmount")] + pub total_amount: Box, + /// The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. + #[serde(rename = "vatRate", skip_serializing_if = "Option::is_none")] + pub vat_rate: Option, + /// The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. + #[serde(rename = "vatAmount", skip_serializing_if = "Option::is_none")] + pub vat_amount: Option>, + /// The SKU, EAN, ISBN or UPC of the product sold. + #[serde(rename = "sku", skip_serializing_if = "Option::is_none")] + pub sku: Option, + /// An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + #[serde(rename = "categories", skip_serializing_if = "Option::is_none")] + pub categories: Option>, + /// A link pointing to an image of the product sold. + #[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")] + pub image_url: Option, + /// A link pointing to the product page in your web shop of the product sold. + #[serde(rename = "productUrl", skip_serializing_if = "Option::is_none")] + pub product_url: Option, +} + +impl PaymentLineItem { + pub fn new(description: String, quantity: i32, unit_price: models::Amount, total_amount: models::Amount) -> PaymentLineItem { + PaymentLineItem { + r#type: None, + description, + quantity, + quantity_unit: None, + unit_price: Box::new(unit_price), + discount_amount: None, + total_amount: Box::new(total_amount), + vat_rate: None, + vat_amount: None, + sku: None, + categories: None, + image_url: None, + product_url: None, + } + } +} + diff --git a/src/models/payment_line_item_response.rs b/src/models/payment_line_item_response.rs new file mode 100644 index 0000000..db644d9 --- /dev/null +++ b/src/models/payment_line_item_response.rs @@ -0,0 +1,75 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentLineItemResponse { + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The unit for the quantity. For example *pcs*, *kg*, or *cm*. + #[serde(rename = "quantityUnit", skip_serializing_if = "Option::is_none")] + pub quantity_unit: Option, + /// The price of a single item including VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type. + #[serde(rename = "discountAmount", skip_serializing_if = "Option::is_none")] + pub discount_amount: Option>, + /// The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount. + #[serde(rename = "totalAmount")] + pub total_amount: Box, + /// The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed. + #[serde(rename = "vatRate", skip_serializing_if = "Option::is_none")] + pub vat_rate: Option, + /// The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`. + #[serde(rename = "vatAmount", skip_serializing_if = "Option::is_none")] + pub vat_amount: Option>, + /// The SKU, EAN, ISBN or UPC of the product sold. + #[serde(rename = "sku", skip_serializing_if = "Option::is_none")] + pub sku: Option, + /// An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. + #[serde(rename = "categories", skip_serializing_if = "Option::is_none")] + pub categories: Option>, + /// A link pointing to an image of the product sold. + #[serde(rename = "imageUrl", skip_serializing_if = "Option::is_none")] + pub image_url: Option, + /// A link pointing to the product page in your web shop of the product sold. + #[serde(rename = "productUrl", skip_serializing_if = "Option::is_none")] + pub product_url: Option, +} + +impl PaymentLineItemResponse { + pub fn new(description: String, quantity: i32, unit_price: models::Amount, total_amount: models::Amount) -> PaymentLineItemResponse { + PaymentLineItemResponse { + r#type: None, + description, + quantity, + quantity_unit: None, + unit_price: Box::new(unit_price), + discount_amount: None, + total_amount: Box::new(total_amount), + vat_rate: None, + vat_amount: None, + sku: None, + categories: None, + image_url: None, + product_url: None, + } + } +} + diff --git a/src/models/payment_line_type.rs b/src/models/payment_line_type.rs new file mode 100644 index 0000000..364b56e --- /dev/null +++ b/src/models/payment_line_type.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentLineType : The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. +/// The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentLineType { + #[serde(rename = "physical")] + Physical, + #[serde(rename = "digital")] + Digital, + #[serde(rename = "shipping_fee")] + ShippingFee, + #[serde(rename = "discount")] + Discount, + #[serde(rename = "store_credit")] + StoreCredit, + #[serde(rename = "gift_card")] + GiftCard, + #[serde(rename = "surcharge")] + Surcharge, + #[serde(rename = "tip")] + Tip, + +} + +impl std::fmt::Display for PaymentLineType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Physical => write!(f, "physical"), + Self::Digital => write!(f, "digital"), + Self::ShippingFee => write!(f, "shipping_fee"), + Self::Discount => write!(f, "discount"), + Self::StoreCredit => write!(f, "store_credit"), + Self::GiftCard => write!(f, "gift_card"), + Self::Surcharge => write!(f, "surcharge"), + Self::Tip => write!(f, "tip"), + } + } +} + +impl Default for PaymentLineType { + fn default() -> PaymentLineType { + Self::Physical + } +} + diff --git a/src/models/payment_line_type_response.rs b/src/models/payment_line_type_response.rs new file mode 100644 index 0000000..b5d6c56 --- /dev/null +++ b/src/models/payment_line_type_response.rs @@ -0,0 +1,57 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentLineTypeResponse : The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. +/// The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentLineTypeResponse { + #[serde(rename = "physical")] + Physical, + #[serde(rename = "digital")] + Digital, + #[serde(rename = "shipping_fee")] + ShippingFee, + #[serde(rename = "discount")] + Discount, + #[serde(rename = "store_credit")] + StoreCredit, + #[serde(rename = "gift_card")] + GiftCard, + #[serde(rename = "surcharge")] + Surcharge, + #[serde(rename = "tip")] + Tip, + +} + +impl std::fmt::Display for PaymentLineTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Physical => write!(f, "physical"), + Self::Digital => write!(f, "digital"), + Self::ShippingFee => write!(f, "shipping_fee"), + Self::Discount => write!(f, "discount"), + Self::StoreCredit => write!(f, "store_credit"), + Self::GiftCard => write!(f, "gift_card"), + Self::Surcharge => write!(f, "surcharge"), + Self::Tip => write!(f, "tip"), + } + } +} + +impl Default for PaymentLineTypeResponse { + fn default() -> PaymentLineTypeResponse { + Self::Physical + } +} + diff --git a/src/models/payment_link_response.rs b/src/models/payment_link_response.rs new file mode 100644 index 0000000..95da692 --- /dev/null +++ b/src/models/payment_link_response.rs @@ -0,0 +1,112 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentLinkResponse { + /// Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. + #[serde(rename = "minimumAmount", skip_serializing_if = "Option::is_none")] + pub minimum_amount: Option>, + /// Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + #[serde(rename = "archived", skip_serializing_if = "Option::is_none")] + pub archived: Option, + /// The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment. + #[serde(rename = "redirectUrl", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", skip_serializing_if = "Option::is_none")] + pub lines: Option>, + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + /// Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link. + #[serde(rename = "reusable", skip_serializing_if = "Option::is_none")] + pub reusable: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment link became paid, in ISO 8601 format. + #[serde(rename = "paidAt", skip_serializing_if = "Option::is_none")] + pub paid_at: Option, + /// The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically. + #[serde(rename = "expiresAt", skip_serializing_if = "Option::is_none")] + pub expires_at: Option, + /// An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. + #[serde(rename = "allowedMethods", skip_serializing_if = "Option::is_none")] + pub allowed_methods: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + /// **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made. + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl PaymentLinkResponse { + pub fn new() -> PaymentLinkResponse { + PaymentLinkResponse { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + minimum_amount: None, + archived: None, + redirect_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + profile_id: None, + reusable: None, + created_at: None, + paid_at: None, + expires_at: None, + allowed_methods: None, + application_fee: None, + sequence_type: None, + customer_id: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/payment_link_sequence_type.rs b/src/models/payment_link_sequence_type.rs new file mode 100644 index 0000000..331a19c --- /dev/null +++ b/src/models/payment_link_sequence_type.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentLinkSequenceType { + #[serde(rename = "oneoff")] + Oneoff, + #[serde(rename = "first")] + First, + +} + +impl std::fmt::Display for PaymentLinkSequenceType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Oneoff => write!(f, "oneoff"), + Self::First => write!(f, "first"), + } + } +} + +impl Default for PaymentLinkSequenceType { + fn default() -> PaymentLinkSequenceType { + Self::Oneoff + } +} + diff --git a/src/models/payment_link_sequence_type_response.rs b/src/models/payment_link_sequence_type_response.rs new file mode 100644 index 0000000..419d714 --- /dev/null +++ b/src/models/payment_link_sequence_type_response.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentLinkSequenceTypeResponse { + #[serde(rename = "oneoff")] + Oneoff, + #[serde(rename = "first")] + First, + +} + +impl std::fmt::Display for PaymentLinkSequenceTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Oneoff => write!(f, "oneoff"), + Self::First => write!(f, "first"), + } + } +} + +impl Default for PaymentLinkSequenceTypeResponse { + fn default() -> PaymentLinkSequenceTypeResponse { + Self::Oneoff + } +} + diff --git a/src/models/payment_list_routes_200_response.rs b/src/models/payment_list_routes_200_response.rs new file mode 100644 index 0000000..be78a8a --- /dev/null +++ b/src/models/payment_list_routes_200_response.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentListRoutes200Response { + /// The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result as well. The maximum number of items per result set is controlled by the `limit` property provided in the request. The default limit is 50 items. + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + #[serde(rename = "_embedded", skip_serializing_if = "Option::is_none")] + pub _embedded: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl PaymentListRoutes200Response { + pub fn new() -> PaymentListRoutes200Response { + PaymentListRoutes200Response { + count: None, + _embedded: None, + _links: None, + } + } +} + diff --git a/src/models/payment_list_routes_200_response__embedded.rs b/src/models/payment_list_routes_200_response__embedded.rs new file mode 100644 index 0000000..ce4c180 --- /dev/null +++ b/src/models/payment_list_routes_200_response__embedded.rs @@ -0,0 +1,28 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentListRoutes200ResponseEmbedded { + /// An array of route objects. + #[serde(rename = "routes", skip_serializing_if = "Option::is_none")] + pub routes: Option>, +} + +impl PaymentListRoutes200ResponseEmbedded { + pub fn new() -> PaymentListRoutes200ResponseEmbedded { + PaymentListRoutes200ResponseEmbedded { + routes: None, + } + } +} + diff --git a/src/models/payment_list_routes_200_response__links.rs b/src/models/payment_list_routes_200_response__links.rs new file mode 100644 index 0000000..e1732a6 --- /dev/null +++ b/src/models/payment_list_routes_200_response__links.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentListRoutes200ResponseLinks : Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentListRoutes200ResponseLinks { + /// The URL to the current set of items. + #[serde(rename = "self", skip_serializing_if = "Option::is_none")] + pub param_self: Option>, + #[serde(rename = "documentation", skip_serializing_if = "Option::is_none")] + pub documentation: Option>, +} + +impl PaymentListRoutes200ResponseLinks { + /// Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field. + pub fn new() -> PaymentListRoutes200ResponseLinks { + PaymentListRoutes200ResponseLinks { + param_self: None, + documentation: None, + } + } +} + diff --git a/src/models/payment_method.rs b/src/models/payment_method.rs new file mode 100644 index 0000000..ba7f9a0 --- /dev/null +++ b/src/models/payment_method.rs @@ -0,0 +1,165 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentMethod : The payment method, if applicable +/// The payment method, if applicable +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentMethod { + #[serde(rename = "alma")] + Alma, + #[serde(rename = "bacs")] + Bacs, + #[serde(rename = "applepay")] + Applepay, + #[serde(rename = "bancomatpay")] + Bancomatpay, + #[serde(rename = "bancontact")] + Bancontact, + #[serde(rename = "banktransfer")] + Banktransfer, + #[serde(rename = "belfius")] + Belfius, + #[serde(rename = "billie")] + Billie, + #[serde(rename = "bizum")] + Bizum, + #[serde(rename = "bitcoin")] + Bitcoin, + #[serde(rename = "blik")] + Blik, + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "eps")] + Eps, + #[serde(rename = "giftcard")] + Giftcard, + #[serde(rename = "giropay")] + Giropay, + #[serde(rename = "googlepay")] + Googlepay, + #[serde(rename = "ideal")] + Ideal, + #[serde(rename = "in3")] + In3, + #[serde(rename = "inghomepay")] + Inghomepay, + #[serde(rename = "kbc")] + Kbc, + #[serde(rename = "klarnapaylater")] + Klarnapaylater, + #[serde(rename = "klarnapaynow")] + Klarnapaynow, + #[serde(rename = "klarnasliceit")] + Klarnasliceit, + #[serde(rename = "klarna")] + Klarna, + #[serde(rename = "mbway")] + Mbway, + #[serde(rename = "mobilepay")] + Mobilepay, + #[serde(rename = "multibanco")] + Multibanco, + #[serde(rename = "mybank")] + Mybank, + #[serde(rename = "paybybank")] + Paybybank, + #[serde(rename = "payconiq")] + Payconiq, + #[serde(rename = "paypal")] + Paypal, + #[serde(rename = "paysafecard")] + Paysafecard, + #[serde(rename = "przelewy24")] + Przelewy24, + #[serde(rename = "riverty")] + Riverty, + #[serde(rename = "satispay")] + Satispay, + #[serde(rename = "podiumcadeaukaart")] + Podiumcadeaukaart, + #[serde(rename = "pointofsale")] + Pointofsale, + #[serde(rename = "sofort")] + Sofort, + #[serde(rename = "swish")] + Swish, + #[serde(rename = "trustly")] + Trustly, + #[serde(rename = "twint")] + Twint, + #[serde(rename = "vipps")] + Vipps, + #[serde(rename = "voucher")] + Voucher, + +} + +impl std::fmt::Display for PaymentMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Alma => write!(f, "alma"), + Self::Bacs => write!(f, "bacs"), + Self::Applepay => write!(f, "applepay"), + Self::Bancomatpay => write!(f, "bancomatpay"), + Self::Bancontact => write!(f, "bancontact"), + Self::Banktransfer => write!(f, "banktransfer"), + Self::Belfius => write!(f, "belfius"), + Self::Billie => write!(f, "billie"), + Self::Bizum => write!(f, "bizum"), + Self::Bitcoin => write!(f, "bitcoin"), + Self::Blik => write!(f, "blik"), + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Eps => write!(f, "eps"), + Self::Giftcard => write!(f, "giftcard"), + Self::Giropay => write!(f, "giropay"), + Self::Googlepay => write!(f, "googlepay"), + Self::Ideal => write!(f, "ideal"), + Self::In3 => write!(f, "in3"), + Self::Inghomepay => write!(f, "inghomepay"), + Self::Kbc => write!(f, "kbc"), + Self::Klarnapaylater => write!(f, "klarnapaylater"), + Self::Klarnapaynow => write!(f, "klarnapaynow"), + Self::Klarnasliceit => write!(f, "klarnasliceit"), + Self::Klarna => write!(f, "klarna"), + Self::Mbway => write!(f, "mbway"), + Self::Mobilepay => write!(f, "mobilepay"), + Self::Multibanco => write!(f, "multibanco"), + Self::Mybank => write!(f, "mybank"), + Self::Paybybank => write!(f, "paybybank"), + Self::Payconiq => write!(f, "payconiq"), + Self::Paypal => write!(f, "paypal"), + Self::Paysafecard => write!(f, "paysafecard"), + Self::Przelewy24 => write!(f, "przelewy24"), + Self::Riverty => write!(f, "riverty"), + Self::Satispay => write!(f, "satispay"), + Self::Podiumcadeaukaart => write!(f, "podiumcadeaukaart"), + Self::Pointofsale => write!(f, "pointofsale"), + Self::Sofort => write!(f, "sofort"), + Self::Swish => write!(f, "swish"), + Self::Trustly => write!(f, "trustly"), + Self::Twint => write!(f, "twint"), + Self::Vipps => write!(f, "vipps"), + Self::Voucher => write!(f, "voucher"), + } + } +} + +impl Default for PaymentMethod { + fn default() -> PaymentMethod { + Self::Alma + } +} + diff --git a/src/models/payment_request.rs b/src/models/payment_request.rs new file mode 100644 index 0000000..f2d8e94 --- /dev/null +++ b/src/models/payment_request.rs @@ -0,0 +1,243 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentRequest { + /// Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. + #[serde(rename = "amountRefunded", skip_serializing_if = "Option::is_none")] + pub amount_refunded: Option>, + /// The remaining amount that can be refunded. Only available when refunds are available for this payment. + #[serde(rename = "amountRemaining", skip_serializing_if = "Option::is_none")] + pub amount_remaining: Option>, + /// The total amount that is already captured for this payment. Only available when this payment supports captures. + #[serde(rename = "amountCaptured", skip_serializing_if = "Option::is_none")] + pub amount_captured: Option>, + /// The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. + #[serde(rename = "amountChargedBack", skip_serializing_if = "Option::is_none")] + pub amount_charged_back: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + /// The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. + #[serde(rename = "redirectUrl", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option, + /// The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. + #[serde(rename = "cancelUrl", skip_serializing_if = "Option::is_none")] + pub cancel_url: Option, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", skip_serializing_if = "Option::is_none")] + pub lines: Option>, + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. + #[serde(rename = "countryCode", skip_serializing_if = "Option::is_none")] + pub country_code: Option, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + #[serde(rename = "restrictPaymentMethodsToCountry", skip_serializing_if = "Option::is_none")] + pub restrict_payment_methods_to_country: Option, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "captureMode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_mode: Option>, + /// **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` + #[serde(rename = "captureDelay", skip_serializing_if = "Option::is_none")] + pub capture_delay: Option, + /// Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "captureBefore", skip_serializing_if = "Option::is_none")] + pub capture_before: Option, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. + #[serde(rename = "routing", skip_serializing_if = "Option::is_none")] + pub routing: Option>, + /// **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + #[serde(rename = "subscriptionId", skip_serializing_if = "Option::is_none")] + pub subscription_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "orderId", skip_serializing_if = "Option::is_none")] + pub order_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "statusReason", skip_serializing_if = "Option::is_none")] + pub status_reason: Option>, + /// Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + #[serde(rename = "isCancelable", skip_serializing_if = "Option::is_none")] + pub is_cancelable: Option, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "authorizedAt", skip_serializing_if = "Option::is_none")] + pub authorized_at: Option, + /// The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). + #[serde(rename = "paidAt", skip_serializing_if = "Option::is_none")] + pub paid_at: Option, + /// The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). + #[serde(rename = "canceledAt", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option, + /// The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. + #[serde(rename = "expiresAt", skip_serializing_if = "Option::is_none")] + pub expires_at: Option, + /// The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). + #[serde(rename = "expiredAt", skip_serializing_if = "Option::is_none")] + pub expired_at: Option, + /// The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). + #[serde(rename = "failedAt", skip_serializing_if = "Option::is_none")] + pub failed_at: Option, + /// The date by which the payment should be completed in `YYYY-MM-DD` format + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, + /// The Apple Pay Payment token object (encoded as JSON) that is part of the result of authorizing a payment request. The token contains the payment information needed to authorize the payment. The object should be passed encoded in a JSON string. + #[serde(rename = "applePayPaymentToken", skip_serializing_if = "Option::is_none")] + pub apple_pay_payment_token: Option, + #[serde(rename = "company", skip_serializing_if = "Option::is_none")] + pub company: Option>, + /// When creating credit card payments using Mollie Components, you need to provide the card token you received from the card component in this field. The token represents the customer's card information needed to complete the payment. Note: field only valid for oneoff and first payments. For recurring payments, the customerId alone is enough. + #[serde(rename = "cardToken", skip_serializing_if = "Option::is_none")] + pub card_token: Option, + /// The card token you received from the card component of Mollie Components. The token represents the customer's card information needed to complete the payment. + #[serde(rename = "voucherNumber", skip_serializing_if = "Option::is_none")] + pub voucher_number: Option, + /// The PIN on the gift card. You can supply this to prefill the PIN, if the card has any. + #[serde(rename = "voucherPin", skip_serializing_if = "Option::is_none")] + pub voucher_pin: Option, + /// The customer's date of birth. If not provided via the API, iDeal in3 will ask the customer to provide it during the payment process. + #[serde(rename = "consumerDateOfBirth", skip_serializing_if = "Option::is_none")] + pub consumer_date_of_birth: Option, + /// For some industries, additional purchase information can be sent to Klarna to increase the authorization rate. You can submit your extra data in this field if you have agreed upon this with Klarna. This field should be an object containing any of the allowed keys and sub-objects described at the Klarna Developer Documentation. + #[serde(rename = "extraMerchantData", skip_serializing_if = "Option::is_none")] + pub extra_merchant_data: Option>, + /// The unique ID you have used for the PayPal fraud library. You should include this if you use PayPal for an on-demand payment. + #[serde(rename = "sessionId", skip_serializing_if = "Option::is_none")] + pub session_id: Option, + /// Indicate if you are about to deliver digital goods, such as for example a software license. Setting this parameter can have consequences for your PayPal Seller Protection. Refer to PayPal's documentation for more information. + #[serde(rename = "digitalGoods", skip_serializing_if = "Option::is_none")] + pub digital_goods: Option, + /// Used by paysafecard for customer identification across payments. When you generate a customer reference yourself, make sure not to put personal identifiable information or IP addresses in the customer reference directly. + #[serde(rename = "customerReference", skip_serializing_if = "Option::is_none")] + pub customer_reference: Option, + /// The ID of the terminal device where you want to initiate the payment on. + #[serde(rename = "terminalId", skip_serializing_if = "Option::is_none")] + pub terminal_id: Option, +} + +impl PaymentRequest { + pub fn new() -> PaymentRequest { + PaymentRequest { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + amount_refunded: None, + amount_remaining: None, + amount_captured: None, + amount_charged_back: None, + settlement_amount: None, + redirect_url: None, + cancel_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + locale: None, + country_code: None, + method: None, + issuer: None, + restrict_payment_methods_to_country: None, + metadata: None, + capture_mode: None, + capture_delay: None, + capture_before: None, + application_fee: None, + routing: None, + sequence_type: None, + subscription_id: None, + mandate_id: None, + customer_id: None, + profile_id: None, + settlement_id: None, + order_id: None, + status: None, + status_reason: None, + is_cancelable: None, + details: None, + created_at: None, + authorized_at: None, + paid_at: None, + canceled_at: None, + expires_at: None, + expired_at: None, + failed_at: None, + due_date: None, + testmode: None, + _links: None, + apple_pay_payment_token: None, + company: None, + card_token: None, + voucher_number: None, + voucher_pin: None, + consumer_date_of_birth: None, + extra_merchant_data: None, + session_id: None, + digital_goods: None, + customer_reference: None, + terminal_id: None, + } + } +} + diff --git a/src/models/payment_response.rs b/src/models/payment_response.rs new file mode 100644 index 0000000..649f66c --- /dev/null +++ b/src/models/payment_response.rs @@ -0,0 +1,201 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct PaymentResponse { + /// Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + /// The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The amount that you want to charge, e.g. `{currency:\"EUR\", value:\"1000.00\"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer. + #[serde(rename = "amountRefunded", skip_serializing_if = "Option::is_none")] + pub amount_refunded: Option>, + /// The remaining amount that can be refunded. Only available when refunds are available for this payment. + #[serde(rename = "amountRemaining", skip_serializing_if = "Option::is_none")] + pub amount_remaining: Option>, + /// The total amount that is already captured for this payment. Only available when this payment supports captures. + #[serde(rename = "amountCaptured", skip_serializing_if = "Option::is_none")] + pub amount_captured: Option>, + /// The total amount that was charged back for this payment. Only available when the total charged back amount is not zero. + #[serde(rename = "amountChargedBack", skip_serializing_if = "Option::is_none")] + pub amount_charged_back: Option>, + /// This optional field will contain the approximate amount that will be settled to your account, converted to the currency your account is settled in. Any amounts not settled by Mollie will not be reflected in this amount, e.g. PayPal or gift cards. If no amount is settled by Mollie the `settlementAmount` is omitted from the response. Please note that this amount might be recalculated and changed when the status of the payment changes. We suggest using the List balance transactions endpoint instead to get more accurate settlement amounts for your payments. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + /// The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. + #[serde(rename = "redirectUrl", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option, + /// The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. + #[serde(rename = "cancelUrl", skip_serializing_if = "Option::is_none")] + pub cancel_url: Option, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", skip_serializing_if = "Option::is_none")] + pub lines: Option>, + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected. + #[serde(rename = "countryCode", skip_serializing_if = "Option::is_none")] + pub country_code: Option, + /// The payment method used for this transaction. If a specific method was selected during payment initialization, this field reflects that choice. + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")] + pub issuer: Option, + /// For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + #[serde(rename = "restrictPaymentMethodsToCountry", skip_serializing_if = "Option::is_none")] + pub restrict_payment_methods_to_country: Option, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "captureMode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub capture_mode: Option>, + /// **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days` + #[serde(rename = "captureDelay", skip_serializing_if = "Option::is_none")] + pub capture_delay: Option, + /// Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "captureBefore", skip_serializing_if = "Option::is_none")] + pub capture_before: Option, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter. + #[serde(rename = "routing", skip_serializing_if = "Option::is_none")] + pub routing: Option>, + /// **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. + #[serde(rename = "sequenceType", skip_serializing_if = "Option::is_none")] + pub sequence_type: Option, + #[serde(rename = "subscriptionId", skip_serializing_if = "Option::is_none")] + pub subscription_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "orderId", skip_serializing_if = "Option::is_none")] + pub order_id: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + #[serde(rename = "statusReason", skip_serializing_if = "Option::is_none")] + pub status_reason: Option>, + /// Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state. + #[serde(rename = "isCancelable", skip_serializing_if = "Option::is_none")] + pub is_cancelable: Option, + #[serde(rename = "details", skip_serializing_if = "Option::is_none")] + pub details: Option>, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet). + #[serde(rename = "authorizedAt", skip_serializing_if = "Option::is_none")] + pub authorized_at: Option, + /// The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet). + #[serde(rename = "paidAt", skip_serializing_if = "Option::is_none")] + pub paid_at: Option, + /// The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet). + #[serde(rename = "canceledAt", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option, + /// The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire. + #[serde(rename = "expiresAt", skip_serializing_if = "Option::is_none")] + pub expires_at: Option, + /// The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet). + #[serde(rename = "expiredAt", skip_serializing_if = "Option::is_none")] + pub expired_at: Option, + /// The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet). + #[serde(rename = "failedAt", skip_serializing_if = "Option::is_none")] + pub failed_at: Option, + /// The date by which the payment should be completed in `YYYY-MM-DD` format + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl PaymentResponse { + pub fn new() -> PaymentResponse { + PaymentResponse { + resource: None, + id: None, + mode: None, + description: None, + amount: None, + amount_refunded: None, + amount_remaining: None, + amount_captured: None, + amount_charged_back: None, + settlement_amount: None, + redirect_url: None, + cancel_url: None, + webhook_url: None, + lines: None, + billing_address: None, + shipping_address: None, + locale: None, + country_code: None, + method: None, + issuer: None, + restrict_payment_methods_to_country: None, + metadata: None, + capture_mode: None, + capture_delay: None, + capture_before: None, + application_fee: None, + routing: None, + sequence_type: None, + subscription_id: None, + mandate_id: None, + customer_id: None, + profile_id: None, + settlement_id: None, + order_id: None, + status: None, + status_reason: None, + is_cancelable: None, + details: None, + created_at: None, + authorized_at: None, + paid_at: None, + canceled_at: None, + expires_at: None, + expired_at: None, + failed_at: None, + due_date: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/payment_status.rs b/src/models/payment_status.rs new file mode 100644 index 0000000..0f34b4a --- /dev/null +++ b/src/models/payment_status.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// PaymentStatus : The payment's status. Refer to the [documentation regarding statuses](https://docs.mollie.com/docs/status-change#/) for more info about which statuses occur at what point. +/// The payment's status. Refer to the [documentation regarding statuses](https://docs.mollie.com/docs/status-change#/) for more info about which statuses occur at what point. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PaymentStatus { + #[serde(rename = "open")] + Open, + #[serde(rename = "pending")] + Pending, + #[serde(rename = "authorized")] + Authorized, + #[serde(rename = "paid")] + Paid, + #[serde(rename = "canceled")] + Canceled, + #[serde(rename = "expired")] + Expired, + #[serde(rename = "failed")] + Failed, + +} + +impl std::fmt::Display for PaymentStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Open => write!(f, "open"), + Self::Pending => write!(f, "pending"), + Self::Authorized => write!(f, "authorized"), + Self::Paid => write!(f, "paid"), + Self::Canceled => write!(f, "canceled"), + Self::Expired => write!(f, "expired"), + Self::Failed => write!(f, "failed"), + } + } +} + +impl Default for PaymentStatus { + fn default() -> PaymentStatus { + Self::Open + } +} + diff --git a/src/models/profile_review_status.rs b/src/models/profile_review_status.rs new file mode 100644 index 0000000..88c1203 --- /dev/null +++ b/src/models/profile_review_status.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProfileReviewStatus : The status of the requested changes. +/// The status of the requested changes. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProfileReviewStatus { + #[serde(rename = "pending")] + Pending, + #[serde(rename = "rejected")] + Rejected, + +} + +impl std::fmt::Display for ProfileReviewStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pending => write!(f, "pending"), + Self::Rejected => write!(f, "rejected"), + } + } +} + +impl Default for ProfileReviewStatus { + fn default() -> ProfileReviewStatus { + Self::Pending + } +} + diff --git a/src/models/profile_review_status_response.rs b/src/models/profile_review_status_response.rs new file mode 100644 index 0000000..7fbd507 --- /dev/null +++ b/src/models/profile_review_status_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProfileReviewStatusResponse : The status of the requested changes. +/// The status of the requested changes. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProfileReviewStatusResponse { + #[serde(rename = "pending")] + Pending, + #[serde(rename = "rejected")] + Rejected, + +} + +impl std::fmt::Display for ProfileReviewStatusResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pending => write!(f, "pending"), + Self::Rejected => write!(f, "rejected"), + } + } +} + +impl Default for ProfileReviewStatusResponse { + fn default() -> ProfileReviewStatusResponse { + Self::Pending + } +} + diff --git a/src/models/profile_status.rs b/src/models/profile_status.rs new file mode 100644 index 0000000..1a7eb59 --- /dev/null +++ b/src/models/profile_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// ProfileStatus : The profile status determines whether the profile is able to receive live payments. * `unverified`: The profile has not been verified yet and can only be used to create test payments. * `verified`: The profile has been verified and can be used to create live payments and test payments. * `blocked`: The profile is blocked and can no longer be used or changed. +/// The profile status determines whether the profile is able to receive live payments. * `unverified`: The profile has not been verified yet and can only be used to create test payments. * `verified`: The profile has been verified and can be used to create live payments and test payments. * `blocked`: The profile is blocked and can no longer be used or changed. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum ProfileStatus { + #[serde(rename = "unverified")] + Unverified, + #[serde(rename = "verified")] + Verified, + #[serde(rename = "blocked")] + Blocked, + +} + +impl std::fmt::Display for ProfileStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Unverified => write!(f, "unverified"), + Self::Verified => write!(f, "verified"), + Self::Blocked => write!(f, "blocked"), + } + } +} + +impl Default for ProfileStatus { + fn default() -> ProfileStatus { + Self::Unverified + } +} + diff --git a/src/models/recurring_line_item.rs b/src/models/recurring_line_item.rs new file mode 100644 index 0000000..db29a84 --- /dev/null +++ b/src/models/recurring_line_item.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RecurringLineItem { + /// A description of the recurring item. If not present, the main description of the item will be used. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`. Possible values: `... days`, `... weeks`, `... months`. + #[serde(rename = "interval")] + pub interval: String, + /// Total amount and currency of the recurring item. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// Total number of charges for the subscription to complete. Leave empty for ongoing subscription. + #[serde(rename = "times", skip_serializing_if = "Option::is_none")] + pub times: Option, + /// The start date of the subscription if it does not start right away (format `YYYY-MM-DD`) + #[serde(rename = "startDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub start_date: Option>, +} + +impl RecurringLineItem { + pub fn new(interval: String) -> RecurringLineItem { + RecurringLineItem { + description: None, + interval, + amount: None, + times: None, + start_date: None, + } + } +} + diff --git a/src/models/refund_external_reference_type.rs b/src/models/refund_external_reference_type.rs new file mode 100644 index 0000000..0165fb8 --- /dev/null +++ b/src/models/refund_external_reference_type.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RefundExternalReferenceType : Specifies the reference type +/// Specifies the reference type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RefundExternalReferenceType { + #[serde(rename = "acquirer-reference")] + AcquirerReference, + +} + +impl std::fmt::Display for RefundExternalReferenceType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AcquirerReference => write!(f, "acquirer-reference"), + } + } +} + +impl Default for RefundExternalReferenceType { + fn default() -> RefundExternalReferenceType { + Self::AcquirerReference + } +} + diff --git a/src/models/refund_external_reference_type_response.rs b/src/models/refund_external_reference_type_response.rs new file mode 100644 index 0000000..79b7239 --- /dev/null +++ b/src/models/refund_external_reference_type_response.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RefundExternalReferenceTypeResponse : Specifies the reference type +/// Specifies the reference type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RefundExternalReferenceTypeResponse { + #[serde(rename = "acquirer-reference")] + AcquirerReference, + +} + +impl std::fmt::Display for RefundExternalReferenceTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::AcquirerReference => write!(f, "acquirer-reference"), + } + } +} + +impl Default for RefundExternalReferenceTypeResponse { + fn default() -> RefundExternalReferenceTypeResponse { + Self::AcquirerReference + } +} + diff --git a/src/models/refund_request.rs b/src/models/refund_request.rs new file mode 100644 index 0000000..4230e99 --- /dev/null +++ b/src/models/refund_request.rs @@ -0,0 +1,80 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RefundRequest { + /// Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "mode")] + pub mode: models::Mode, + /// The description of the refund that may be shown to your customer, depending on the payment method used. + #[serde(rename = "description")] + pub description: String, + /// The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount. + #[serde(rename = "amount")] + pub amount: Box, + /// This optional field will contain the approximate amount that will be deducted from your account balance, converted to the currency your account is settled in. The amount is a **negative** amount. If the refund is not directly processed by Mollie, for example for PayPal refunds, the settlement amount will be zero. Since the field contains an estimated amount during refund processing, it may change over time. For example, while the refund is queued the settlement amount is likely not yet available. To retrieve accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions) instead. + #[serde(rename = "settlementAmount", skip_serializing_if = "Option::is_none")] + pub settlement_amount: Option>, + #[serde(rename = "metadata", deserialize_with = "Option::deserialize")] + pub metadata: Option>, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + #[serde(rename = "settlementId", skip_serializing_if = "Option::is_none")] + pub settlement_id: Option, + #[serde(rename = "status")] + pub status: models::RefundStatus, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, + #[serde(rename = "externalReference", skip_serializing_if = "Option::is_none")] + pub external_reference: Option>, + /// *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead. + #[serde(rename = "reverseRouting", skip_serializing_if = "Option::is_none")] + pub reverse_routing: Option, + /// *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead. + #[serde(rename = "routingReversals", skip_serializing_if = "Option::is_none")] + pub routing_reversals: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl RefundRequest { + pub fn new(resource: String, id: String, mode: models::Mode, description: String, amount: models::Amount, metadata: Option, status: models::RefundStatus, created_at: String, _links: models::EntityRefundLinks) -> RefundRequest { + RefundRequest { + resource, + id, + mode, + description, + amount: Box::new(amount), + settlement_amount: None, + metadata: if let Some(x) = metadata {Some(Box::new(x))} else {None}, + payment_id: None, + settlement_id: None, + status, + created_at, + external_reference: None, + reverse_routing: None, + routing_reversals: None, + testmode: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/refund_routing_reversals_source_type.rs b/src/models/refund_routing_reversals_source_type.rs new file mode 100644 index 0000000..d03f449 --- /dev/null +++ b/src/models/refund_routing_reversals_source_type.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RefundRoutingReversalsSourceType : The type of source. Currently only the source type `organization` is supported. +/// The type of source. Currently only the source type `organization` is supported. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RefundRoutingReversalsSourceType { + #[serde(rename = "organization")] + Organization, + +} + +impl std::fmt::Display for RefundRoutingReversalsSourceType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Organization => write!(f, "organization"), + } + } +} + +impl Default for RefundRoutingReversalsSourceType { + fn default() -> RefundRoutingReversalsSourceType { + Self::Organization + } +} + diff --git a/src/models/refund_status.rs b/src/models/refund_status.rs new file mode 100644 index 0000000..6e218a3 --- /dev/null +++ b/src/models/refund_status.rs @@ -0,0 +1,50 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RefundStatus { + #[serde(rename = "queued")] + Queued, + #[serde(rename = "pending")] + Pending, + #[serde(rename = "processing")] + Processing, + #[serde(rename = "refunded")] + Refunded, + #[serde(rename = "failed")] + Failed, + #[serde(rename = "canceled")] + Canceled, + +} + +impl std::fmt::Display for RefundStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Queued => write!(f, "queued"), + Self::Pending => write!(f, "pending"), + Self::Processing => write!(f, "processing"), + Self::Refunded => write!(f, "refunded"), + Self::Failed => write!(f, "failed"), + Self::Canceled => write!(f, "canceled"), + } + } +} + +impl Default for RefundStatus { + fn default() -> RefundStatus { + Self::Queued + } +} + diff --git a/src/models/release_authorization_request.rs b/src/models/release_authorization_request.rs new file mode 100644 index 0000000..0fadc8e --- /dev/null +++ b/src/models/release_authorization_request.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct ReleaseAuthorizationRequest { + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl ReleaseAuthorizationRequest { + pub fn new() -> ReleaseAuthorizationRequest { + ReleaseAuthorizationRequest { + profile_id: None, + testmode: None, + } + } +} + diff --git a/src/models/request_apple_pay_payment_session_request.rs b/src/models/request_apple_pay_payment_session_request.rs new file mode 100644 index 0000000..e93e21c --- /dev/null +++ b/src/models/request_apple_pay_payment_session_request.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RequestApplePayPaymentSessionRequest { + /// The validationUrl you got from the [ApplePayValidateMerchant event](https://developer.apple.com/documentation/apple_pay_on_the_web/applepayvalidatemerchantevent). A list of all [valid host names](https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server) for merchant validation is available. You should white list these in your application and reject any `validationUrl`s that have a host name not in the list. + #[serde(rename = "validationUrl")] + pub validation_url: String, + /// The domain of your web shop, that is visible in the browser's location bar. For example `pay.myshop.com`. + #[serde(rename = "domain")] + pub domain: String, + /// The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required. + #[serde(rename = "profileId", skip_serializing_if = "Option::is_none")] + pub profile_id: Option, +} + +impl RequestApplePayPaymentSessionRequest { + pub fn new(validation_url: String, domain: String) -> RequestApplePayPaymentSessionRequest { + RequestApplePayPaymentSessionRequest { + validation_url, + domain, + profile_id: None, + } + } +} + diff --git a/src/models/route_create_request.rs b/src/models/route_create_request.rs new file mode 100644 index 0000000..5886435 --- /dev/null +++ b/src/models/route_create_request.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RouteCreateRequest { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "paymentId", skip_serializing_if = "Option::is_none")] + pub payment_id: Option, + /// The amount of the route. That amount that will be routed to the specified destination. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The description of the route. This description is shown in the reports. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "destination", skip_serializing_if = "Option::is_none")] + pub destination: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl RouteCreateRequest { + pub fn new() -> RouteCreateRequest { + RouteCreateRequest { + resource: None, + id: None, + payment_id: None, + amount: None, + description: None, + destination: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/route_create_request_destination.rs b/src/models/route_create_request_destination.rs new file mode 100644 index 0000000..8689a65 --- /dev/null +++ b/src/models/route_create_request_destination.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RouteCreateRequestDestination : The destination of the route. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RouteCreateRequestDestination { + #[serde(rename = "type")] + pub r#type: models::RouteDestinationType, + #[serde(rename = "organizationId")] + pub organization_id: String, +} + +impl RouteCreateRequestDestination { + /// The destination of the route. + pub fn new(r#type: models::RouteDestinationType, organization_id: String) -> RouteCreateRequestDestination { + RouteCreateRequestDestination { + r#type, + organization_id, + } + } +} + diff --git a/src/models/route_create_response.rs b/src/models/route_create_response.rs new file mode 100644 index 0000000..a6d3fe1 --- /dev/null +++ b/src/models/route_create_response.rs @@ -0,0 +1,52 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RouteCreateResponse { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "paymentId")] + pub payment_id: String, + /// The amount of the route. That amount that will be routed to the specified destination. + #[serde(rename = "amount")] + pub amount: Box, + /// The description of the route. This description is shown in the reports. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "destination")] + pub destination: Box, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl RouteCreateResponse { + pub fn new(resource: String, id: String, payment_id: String, amount: models::Amount, description: String, destination: models::EntityRouteDestination, _links: models::EntityWebhookLinks) -> RouteCreateResponse { + RouteCreateResponse { + resource, + id, + payment_id, + amount: Box::new(amount), + description, + destination: Box::new(destination), + testmode: None, + _links: Box::new(_links), + } + } +} + diff --git a/src/models/route_destination_type.rs b/src/models/route_destination_type.rs new file mode 100644 index 0000000..0509d31 --- /dev/null +++ b/src/models/route_destination_type.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RouteDestinationType : The type of destination. Currently only the destination type `organization` is supported. +/// The type of destination. Currently only the destination type `organization` is supported. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RouteDestinationType { + #[serde(rename = "organization")] + Organization, + +} + +impl std::fmt::Display for RouteDestinationType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Organization => write!(f, "organization"), + } + } +} + +impl Default for RouteDestinationType { + fn default() -> RouteDestinationType { + Self::Organization + } +} + diff --git a/src/models/route_destination_type_response.rs b/src/models/route_destination_type_response.rs new file mode 100644 index 0000000..c0862dd --- /dev/null +++ b/src/models/route_destination_type_response.rs @@ -0,0 +1,36 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// RouteDestinationTypeResponse : The type of destination. Currently only the destination type `organization` is supported. +/// The type of destination. Currently only the destination type `organization` is supported. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum RouteDestinationTypeResponse { + #[serde(rename = "organization")] + Organization, + +} + +impl std::fmt::Display for RouteDestinationTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Organization => write!(f, "organization"), + } + } +} + +impl Default for RouteDestinationTypeResponse { + fn default() -> RouteDestinationTypeResponse { + Self::Organization + } +} + diff --git a/src/models/route_get_response.rs b/src/models/route_get_response.rs new file mode 100644 index 0000000..f1ce0e7 --- /dev/null +++ b/src/models/route_get_response.rs @@ -0,0 +1,56 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct RouteGetResponse { + /// Indicates the response contains a route object. Will always contain the string `route` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + #[serde(rename = "id")] + pub id: String, + #[serde(rename = "paymentId")] + pub payment_id: String, + /// The amount of the route. That amount that will be routed to the specified destination. + #[serde(rename = "amount")] + pub amount: Box, + /// The description of the route. This description is shown in the reports. + #[serde(rename = "description")] + pub description: String, + #[serde(rename = "destination")] + pub destination: Box, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links")] + pub _links: Box, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt")] + pub created_at: String, +} + +impl RouteGetResponse { + pub fn new(resource: String, id: String, payment_id: String, amount: models::Amount, description: String, destination: models::EntityRouteDestination, _links: models::EntityWebhookLinks, created_at: String) -> RouteGetResponse { + RouteGetResponse { + resource, + id, + payment_id, + amount: Box::new(amount), + description, + destination: Box::new(destination), + testmode: None, + _links: Box::new(_links), + created_at, + } + } +} + diff --git a/src/models/sales_invoice_discount.rs b/src/models/sales_invoice_discount.rs new file mode 100644 index 0000000..2dfaa5b --- /dev/null +++ b/src/models/sales_invoice_discount.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceDiscount { + #[serde(rename = "type")] + pub r#type: models::SalesInvoiceDiscountType, + /// A string containing an exact monetary amount in the given currency, or the percentage. + #[serde(rename = "value")] + pub value: String, +} + +impl SalesInvoiceDiscount { + pub fn new(r#type: models::SalesInvoiceDiscountType, value: String) -> SalesInvoiceDiscount { + SalesInvoiceDiscount { + r#type, + value, + } + } +} + diff --git a/src/models/sales_invoice_discount_response.rs b/src/models/sales_invoice_discount_response.rs new file mode 100644 index 0000000..e7c9c79 --- /dev/null +++ b/src/models/sales_invoice_discount_response.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceDiscountResponse { + #[serde(rename = "type")] + pub r#type: models::SalesInvoiceDiscountTypeResponse, + /// A string containing an exact monetary amount in the given currency, or the percentage. + #[serde(rename = "value")] + pub value: String, +} + +impl SalesInvoiceDiscountResponse { + pub fn new(r#type: models::SalesInvoiceDiscountTypeResponse, value: String) -> SalesInvoiceDiscountResponse { + SalesInvoiceDiscountResponse { + r#type, + value, + } + } +} + diff --git a/src/models/sales_invoice_discount_type.rs b/src/models/sales_invoice_discount_type.rs new file mode 100644 index 0000000..33b8755 --- /dev/null +++ b/src/models/sales_invoice_discount_type.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceDiscountType : The type of discount. +/// The type of discount. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceDiscountType { + #[serde(rename = "amount")] + Amount, + #[serde(rename = "percentage")] + Percentage, + +} + +impl std::fmt::Display for SalesInvoiceDiscountType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Amount => write!(f, "amount"), + Self::Percentage => write!(f, "percentage"), + } + } +} + +impl Default for SalesInvoiceDiscountType { + fn default() -> SalesInvoiceDiscountType { + Self::Amount + } +} + diff --git a/src/models/sales_invoice_discount_type_response.rs b/src/models/sales_invoice_discount_type_response.rs new file mode 100644 index 0000000..0b852e2 --- /dev/null +++ b/src/models/sales_invoice_discount_type_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceDiscountTypeResponse : The type of discount. +/// The type of discount. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceDiscountTypeResponse { + #[serde(rename = "amount")] + Amount, + #[serde(rename = "percentage")] + Percentage, + +} + +impl std::fmt::Display for SalesInvoiceDiscountTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Amount => write!(f, "amount"), + Self::Percentage => write!(f, "percentage"), + } + } +} + +impl Default for SalesInvoiceDiscountTypeResponse { + fn default() -> SalesInvoiceDiscountTypeResponse { + Self::Amount + } +} + diff --git a/src/models/sales_invoice_email_details.rs b/src/models/sales_invoice_email_details.rs new file mode 100644 index 0000000..0d1482d --- /dev/null +++ b/src/models/sales_invoice_email_details.rs @@ -0,0 +1,32 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceEmailDetails { + /// The subject of the email to be sent. + #[serde(rename = "subject")] + pub subject: String, + /// The body of the email to be sent. To add newline characters, you can use `\\n`. + #[serde(rename = "body")] + pub body: String, +} + +impl SalesInvoiceEmailDetails { + pub fn new(subject: String, body: String) -> SalesInvoiceEmailDetails { + SalesInvoiceEmailDetails { + subject, + body, + } + } +} + diff --git a/src/models/sales_invoice_line_item.rs b/src/models/sales_invoice_line_item.rs new file mode 100644 index 0000000..0dbc69c --- /dev/null +++ b/src/models/sales_invoice_line_item.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceLineItem { + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The vat rate to be applied to this line item. + #[serde(rename = "vatRate")] + pub vat_rate: String, + /// The price of a single item excluding VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// The discount to be applied to the line item. + #[serde(rename = "discount", skip_serializing_if = "Option::is_none")] + pub discount: Option>, +} + +impl SalesInvoiceLineItem { + pub fn new(description: String, quantity: i32, vat_rate: String, unit_price: models::Amount) -> SalesInvoiceLineItem { + SalesInvoiceLineItem { + description, + quantity, + vat_rate, + unit_price: Box::new(unit_price), + discount: None, + } + } +} + diff --git a/src/models/sales_invoice_line_item_response.rs b/src/models/sales_invoice_line_item_response.rs new file mode 100644 index 0000000..73139b8 --- /dev/null +++ b/src/models/sales_invoice_line_item_response.rs @@ -0,0 +1,44 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceLineItemResponse { + /// A description of the line item. For example *LEGO 4440 Forest Police Station*. + #[serde(rename = "description")] + pub description: String, + /// The number of items. + #[serde(rename = "quantity")] + pub quantity: i32, + /// The vat rate to be applied to this line item. + #[serde(rename = "vatRate")] + pub vat_rate: String, + /// The price of a single item excluding VAT. For example: `{\"currency\":\"EUR\", \"value\":\"89.00\"}` if the box of LEGO costs €89.00 each. The unit price can be zero in case of free items. + #[serde(rename = "unitPrice")] + pub unit_price: Box, + /// The discount to be applied to the line item. + #[serde(rename = "discount", skip_serializing_if = "Option::is_none")] + pub discount: Option>, +} + +impl SalesInvoiceLineItemResponse { + pub fn new(description: String, quantity: i32, vat_rate: String, unit_price: models::Amount) -> SalesInvoiceLineItemResponse { + SalesInvoiceLineItemResponse { + description, + quantity, + vat_rate, + unit_price: Box::new(unit_price), + discount: None, + } + } +} + diff --git a/src/models/sales_invoice_payment_details.rs b/src/models/sales_invoice_payment_details.rs new file mode 100644 index 0000000..e299f6a --- /dev/null +++ b/src/models/sales_invoice_payment_details.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoicePaymentDetails { + #[serde(rename = "source")] + pub source: models::SalesInvoicePaymentDetailsSource, + /// A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and `payment`. + #[serde(rename = "sourceReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub source_reference: Option>, +} + +impl SalesInvoicePaymentDetails { + pub fn new(source: models::SalesInvoicePaymentDetailsSource) -> SalesInvoicePaymentDetails { + SalesInvoicePaymentDetails { + source, + source_reference: None, + } + } +} + diff --git a/src/models/sales_invoice_payment_details_response.rs b/src/models/sales_invoice_payment_details_response.rs new file mode 100644 index 0000000..7774fb6 --- /dev/null +++ b/src/models/sales_invoice_payment_details_response.rs @@ -0,0 +1,31 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoicePaymentDetailsResponse { + #[serde(rename = "source")] + pub source: models::SalesInvoicePaymentDetailsSourceResponse, + /// A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and `payment`. + #[serde(rename = "sourceReference", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub source_reference: Option>, +} + +impl SalesInvoicePaymentDetailsResponse { + pub fn new(source: models::SalesInvoicePaymentDetailsSourceResponse) -> SalesInvoicePaymentDetailsResponse { + SalesInvoicePaymentDetailsResponse { + source, + source_reference: None, + } + } +} + diff --git a/src/models/sales_invoice_payment_details_source.rs b/src/models/sales_invoice_payment_details_source.rs new file mode 100644 index 0000000..4a03b30 --- /dev/null +++ b/src/models/sales_invoice_payment_details_source.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoicePaymentDetailsSource : The way through which the invoice is to be set to paid. +/// The way through which the invoice is to be set to paid. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoicePaymentDetailsSource { + #[serde(rename = "manual")] + Manual, + #[serde(rename = "payment-link")] + PaymentLink, + #[serde(rename = "payment")] + Payment, + +} + +impl std::fmt::Display for SalesInvoicePaymentDetailsSource { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Manual => write!(f, "manual"), + Self::PaymentLink => write!(f, "payment-link"), + Self::Payment => write!(f, "payment"), + } + } +} + +impl Default for SalesInvoicePaymentDetailsSource { + fn default() -> SalesInvoicePaymentDetailsSource { + Self::Manual + } +} + diff --git a/src/models/sales_invoice_payment_details_source_response.rs b/src/models/sales_invoice_payment_details_source_response.rs new file mode 100644 index 0000000..fe1ff9e --- /dev/null +++ b/src/models/sales_invoice_payment_details_source_response.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoicePaymentDetailsSourceResponse : The way through which the invoice is to be set to paid. +/// The way through which the invoice is to be set to paid. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoicePaymentDetailsSourceResponse { + #[serde(rename = "manual")] + Manual, + #[serde(rename = "payment-link")] + PaymentLink, + #[serde(rename = "payment")] + Payment, + +} + +impl std::fmt::Display for SalesInvoicePaymentDetailsSourceResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Manual => write!(f, "manual"), + Self::PaymentLink => write!(f, "payment-link"), + Self::Payment => write!(f, "payment"), + } + } +} + +impl Default for SalesInvoicePaymentDetailsSourceResponse { + fn default() -> SalesInvoicePaymentDetailsSourceResponse { + Self::Manual + } +} + diff --git a/src/models/sales_invoice_payment_term.rs b/src/models/sales_invoice_payment_term.rs new file mode 100644 index 0000000..4f511c1 --- /dev/null +++ b/src/models/sales_invoice_payment_term.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoicePaymentTerm : The payment term to be set on the invoice. +/// The payment term to be set on the invoice. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoicePaymentTerm { + #[serde(rename = "7 days")] + Variant7Days, + #[serde(rename = "14 days")] + Variant14Days, + #[serde(rename = "30 days")] + Variant30Days, + #[serde(rename = "45 days")] + Variant45Days, + #[serde(rename = "60 days")] + Variant60Days, + #[serde(rename = "90 days")] + Variant90Days, + #[serde(rename = "120 days")] + Variant120Days, + +} + +impl std::fmt::Display for SalesInvoicePaymentTerm { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant7Days => write!(f, "7 days"), + Self::Variant14Days => write!(f, "14 days"), + Self::Variant30Days => write!(f, "30 days"), + Self::Variant45Days => write!(f, "45 days"), + Self::Variant60Days => write!(f, "60 days"), + Self::Variant90Days => write!(f, "90 days"), + Self::Variant120Days => write!(f, "120 days"), + } + } +} + +impl Default for SalesInvoicePaymentTerm { + fn default() -> SalesInvoicePaymentTerm { + Self::Variant7Days + } +} + diff --git a/src/models/sales_invoice_payment_term_response.rs b/src/models/sales_invoice_payment_term_response.rs new file mode 100644 index 0000000..11768a7 --- /dev/null +++ b/src/models/sales_invoice_payment_term_response.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoicePaymentTermResponse : The payment term to be set on the invoice. +/// The payment term to be set on the invoice. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoicePaymentTermResponse { + #[serde(rename = "7 days")] + Variant7Days, + #[serde(rename = "14 days")] + Variant14Days, + #[serde(rename = "30 days")] + Variant30Days, + #[serde(rename = "45 days")] + Variant45Days, + #[serde(rename = "60 days")] + Variant60Days, + #[serde(rename = "90 days")] + Variant90Days, + #[serde(rename = "120 days")] + Variant120Days, + +} + +impl std::fmt::Display for SalesInvoicePaymentTermResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Variant7Days => write!(f, "7 days"), + Self::Variant14Days => write!(f, "14 days"), + Self::Variant30Days => write!(f, "30 days"), + Self::Variant45Days => write!(f, "45 days"), + Self::Variant60Days => write!(f, "60 days"), + Self::Variant90Days => write!(f, "90 days"), + Self::Variant120Days => write!(f, "120 days"), + } + } +} + +impl Default for SalesInvoicePaymentTermResponse { + fn default() -> SalesInvoicePaymentTermResponse { + Self::Variant7Days + } +} + diff --git a/src/models/sales_invoice_recipient.rs b/src/models/sales_invoice_recipient.rs new file mode 100644 index 0000000..b81a440 --- /dev/null +++ b/src/models/sales_invoice_recipient.rs @@ -0,0 +1,86 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceRecipient { + #[serde(rename = "type")] + pub r#type: models::SalesInvoiceRecipientType, + /// The title of the `consumer` type recipient, for example Mr. or Mrs.. + #[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub title: Option>, + /// The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. + #[serde(rename = "givenName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub given_name: Option>, + /// The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. + #[serde(rename = "familyName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub family_name: Option>, + /// The trading name of the `business` type recipient. + #[serde(rename = "organizationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_name: Option>, + /// The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` has to be provided. + #[serde(rename = "organizationNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_number: Option>, + /// The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` has to be provided. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + /// The email address of the recipient. + #[serde(rename = "email")] + pub email: String, + /// The phone number of the recipient. + #[serde(rename = "phone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub phone: Option>, + /// A street and street number. + #[serde(rename = "streetAndNumber")] + pub street_and_number: String, + /// Any additional addressing details, for example an apartment number. + #[serde(rename = "streetAdditional", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub street_additional: Option>, + /// A postal code. + #[serde(rename = "postalCode")] + pub postal_code: String, + /// The recipient's city. + #[serde(rename = "city")] + pub city: String, + /// The recipient's region. + #[serde(rename = "region", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub region: Option>, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "country")] + pub country: String, + #[serde(rename = "locale")] + pub locale: models::SalesInvoiceRecipientLocale, +} + +impl SalesInvoiceRecipient { + pub fn new(r#type: models::SalesInvoiceRecipientType, email: String, street_and_number: String, postal_code: String, city: String, country: String, locale: models::SalesInvoiceRecipientLocale) -> SalesInvoiceRecipient { + SalesInvoiceRecipient { + r#type, + title: None, + given_name: None, + family_name: None, + organization_name: None, + organization_number: None, + vat_number: None, + email, + phone: None, + street_and_number, + street_additional: None, + postal_code, + city, + region: None, + country, + locale, + } + } +} + diff --git a/src/models/sales_invoice_recipient_locale.rs b/src/models/sales_invoice_recipient_locale.rs new file mode 100644 index 0000000..8058055 --- /dev/null +++ b/src/models/sales_invoice_recipient_locale.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceRecipientLocale : The locale for the recipient, to be used for translations in PDF generation and payment pages. +/// The locale for the recipient, to be used for translations in PDF generation and payment pages. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceRecipientLocale { + #[serde(rename = "en_US")] + EnUs, + #[serde(rename = "en_GB")] + EnGb, + #[serde(rename = "nl_NL")] + NlNl, + #[serde(rename = "nl_BE")] + NlBe, + #[serde(rename = "de_DE")] + DeDe, + #[serde(rename = "de_AT")] + DeAt, + #[serde(rename = "de_CH")] + DeCh, + #[serde(rename = "fr_FR")] + FrFr, + #[serde(rename = "fr_BE")] + FrBe, + +} + +impl std::fmt::Display for SalesInvoiceRecipientLocale { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EnUs => write!(f, "en_US"), + Self::EnGb => write!(f, "en_GB"), + Self::NlNl => write!(f, "nl_NL"), + Self::NlBe => write!(f, "nl_BE"), + Self::DeDe => write!(f, "de_DE"), + Self::DeAt => write!(f, "de_AT"), + Self::DeCh => write!(f, "de_CH"), + Self::FrFr => write!(f, "fr_FR"), + Self::FrBe => write!(f, "fr_BE"), + } + } +} + +impl Default for SalesInvoiceRecipientLocale { + fn default() -> SalesInvoiceRecipientLocale { + Self::EnUs + } +} + diff --git a/src/models/sales_invoice_recipient_locale_response.rs b/src/models/sales_invoice_recipient_locale_response.rs new file mode 100644 index 0000000..f1dd07b --- /dev/null +++ b/src/models/sales_invoice_recipient_locale_response.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceRecipientLocaleResponse : The locale for the recipient, to be used for translations in PDF generation and payment pages. +/// The locale for the recipient, to be used for translations in PDF generation and payment pages. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceRecipientLocaleResponse { + #[serde(rename = "en_US")] + EnUs, + #[serde(rename = "en_GB")] + EnGb, + #[serde(rename = "nl_NL")] + NlNl, + #[serde(rename = "nl_BE")] + NlBe, + #[serde(rename = "de_DE")] + DeDe, + #[serde(rename = "de_AT")] + DeAt, + #[serde(rename = "de_CH")] + DeCh, + #[serde(rename = "fr_FR")] + FrFr, + #[serde(rename = "fr_BE")] + FrBe, + +} + +impl std::fmt::Display for SalesInvoiceRecipientLocaleResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::EnUs => write!(f, "en_US"), + Self::EnGb => write!(f, "en_GB"), + Self::NlNl => write!(f, "nl_NL"), + Self::NlBe => write!(f, "nl_BE"), + Self::DeDe => write!(f, "de_DE"), + Self::DeAt => write!(f, "de_AT"), + Self::DeCh => write!(f, "de_CH"), + Self::FrFr => write!(f, "fr_FR"), + Self::FrBe => write!(f, "fr_BE"), + } + } +} + +impl Default for SalesInvoiceRecipientLocaleResponse { + fn default() -> SalesInvoiceRecipientLocaleResponse { + Self::EnUs + } +} + diff --git a/src/models/sales_invoice_recipient_response.rs b/src/models/sales_invoice_recipient_response.rs new file mode 100644 index 0000000..8c8dc53 --- /dev/null +++ b/src/models/sales_invoice_recipient_response.rs @@ -0,0 +1,86 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SalesInvoiceRecipientResponse { + #[serde(rename = "type")] + pub r#type: models::SalesInvoiceRecipientTypeResponse, + /// The title of the `consumer` type recipient, for example Mr. or Mrs.. + #[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub title: Option>, + /// The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. + #[serde(rename = "givenName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub given_name: Option>, + /// The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers. + #[serde(rename = "familyName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub family_name: Option>, + /// The trading name of the `business` type recipient. + #[serde(rename = "organizationName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_name: Option>, + /// The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` has to be provided. + #[serde(rename = "organizationNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub organization_number: Option>, + /// The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` has to be provided. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + /// The email address of the recipient. + #[serde(rename = "email")] + pub email: String, + /// The phone number of the recipient. + #[serde(rename = "phone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub phone: Option>, + /// A street and street number. + #[serde(rename = "streetAndNumber")] + pub street_and_number: String, + /// Any additional addressing details, for example an apartment number. + #[serde(rename = "streetAdditional", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub street_additional: Option>, + /// A postal code. + #[serde(rename = "postalCode")] + pub postal_code: String, + /// The recipient's city. + #[serde(rename = "city")] + pub city: String, + /// The recipient's region. + #[serde(rename = "region", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub region: Option>, + /// A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "country")] + pub country: String, + #[serde(rename = "locale")] + pub locale: models::SalesInvoiceRecipientLocaleResponse, +} + +impl SalesInvoiceRecipientResponse { + pub fn new(r#type: models::SalesInvoiceRecipientTypeResponse, email: String, street_and_number: String, postal_code: String, city: String, country: String, locale: models::SalesInvoiceRecipientLocaleResponse) -> SalesInvoiceRecipientResponse { + SalesInvoiceRecipientResponse { + r#type, + title: None, + given_name: None, + family_name: None, + organization_name: None, + organization_number: None, + vat_number: None, + email, + phone: None, + street_and_number, + street_additional: None, + postal_code, + city, + region: None, + country, + locale, + } + } +} + diff --git a/src/models/sales_invoice_recipient_type.rs b/src/models/sales_invoice_recipient_type.rs new file mode 100644 index 0000000..d082ced --- /dev/null +++ b/src/models/sales_invoice_recipient_type.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceRecipientType : The type of recipient, either `consumer` or `business`. This will determine what further fields are required on the `recipient` object. +/// The type of recipient, either `consumer` or `business`. This will determine what further fields are required on the `recipient` object. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceRecipientType { + #[serde(rename = "consumer")] + Consumer, + #[serde(rename = "business")] + Business, + +} + +impl std::fmt::Display for SalesInvoiceRecipientType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Consumer => write!(f, "consumer"), + Self::Business => write!(f, "business"), + } + } +} + +impl Default for SalesInvoiceRecipientType { + fn default() -> SalesInvoiceRecipientType { + Self::Consumer + } +} + diff --git a/src/models/sales_invoice_recipient_type_response.rs b/src/models/sales_invoice_recipient_type_response.rs new file mode 100644 index 0000000..ab8ee82 --- /dev/null +++ b/src/models/sales_invoice_recipient_type_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceRecipientTypeResponse : The type of recipient, either `consumer` or `business`. This will determine what further fields are required on the `recipient` object. +/// The type of recipient, either `consumer` or `business`. This will determine what further fields are required on the `recipient` object. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceRecipientTypeResponse { + #[serde(rename = "consumer")] + Consumer, + #[serde(rename = "business")] + Business, + +} + +impl std::fmt::Display for SalesInvoiceRecipientTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Consumer => write!(f, "consumer"), + Self::Business => write!(f, "business"), + } + } +} + +impl Default for SalesInvoiceRecipientTypeResponse { + fn default() -> SalesInvoiceRecipientTypeResponse { + Self::Consumer + } +} + diff --git a/src/models/sales_invoice_status.rs b/src/models/sales_invoice_status.rs new file mode 100644 index 0000000..65c04ff --- /dev/null +++ b/src/models/sales_invoice_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceStatus : The status for the invoice to end up in. A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to mark it as paid. It can then subsequently be sent as well, same as with `issued`. A status value that cannot be set but can be returned is `canceled`, for invoices which were issued, but then canceled. Currently this can only be done for invoices created in the dashboard. Dependent parameters: - `paymentDetails` is required if invoice should be set directly to `paid` - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` - `emailDetails` optional for `issued` and `paid` to send the invoice by email +/// The status for the invoice to end up in. A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to mark it as paid. It can then subsequently be sent as well, same as with `issued`. A status value that cannot be set but can be returned is `canceled`, for invoices which were issued, but then canceled. Currently this can only be done for invoices created in the dashboard. Dependent parameters: - `paymentDetails` is required if invoice should be set directly to `paid` - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` - `emailDetails` optional for `issued` and `paid` to send the invoice by email +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceStatus { + #[serde(rename = "draft")] + Draft, + #[serde(rename = "issued")] + Issued, + #[serde(rename = "paid")] + Paid, + +} + +impl std::fmt::Display for SalesInvoiceStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Draft => write!(f, "draft"), + Self::Issued => write!(f, "issued"), + Self::Paid => write!(f, "paid"), + } + } +} + +impl Default for SalesInvoiceStatus { + fn default() -> SalesInvoiceStatus { + Self::Draft + } +} + diff --git a/src/models/sales_invoice_status_response.rs b/src/models/sales_invoice_status_response.rs new file mode 100644 index 0000000..5f2e11d --- /dev/null +++ b/src/models/sales_invoice_status_response.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceStatusResponse : The status for the invoice to end up in. A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to mark it as paid. It can then subsequently be sent as well, same as with `issued`. A status value that cannot be set but can be returned is `canceled`, for invoices which were issued, but then canceled. Currently this can only be done for invoices created in the dashboard. Dependent parameters: - `paymentDetails` is required if invoice should be set directly to `paid` - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` - `emailDetails` optional for `issued` and `paid` to send the invoice by email +/// The status for the invoice to end up in. A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to mark it as paid. It can then subsequently be sent as well, same as with `issued`. A status value that cannot be set but can be returned is `canceled`, for invoices which were issued, but then canceled. Currently this can only be done for invoices created in the dashboard. Dependent parameters: - `paymentDetails` is required if invoice should be set directly to `paid` - `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid` - `emailDetails` optional for `issued` and `paid` to send the invoice by email +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceStatusResponse { + #[serde(rename = "draft")] + Draft, + #[serde(rename = "issued")] + Issued, + #[serde(rename = "paid")] + Paid, + +} + +impl std::fmt::Display for SalesInvoiceStatusResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Draft => write!(f, "draft"), + Self::Issued => write!(f, "issued"), + Self::Paid => write!(f, "paid"), + } + } +} + +impl Default for SalesInvoiceStatusResponse { + fn default() -> SalesInvoiceStatusResponse { + Self::Draft + } +} + diff --git a/src/models/sales_invoice_vat_mode.rs b/src/models/sales_invoice_vat_mode.rs new file mode 100644 index 0000000..ebdd43e --- /dev/null +++ b/src/models/sales_invoice_vat_mode.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceVatMode : The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. +/// The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceVatMode { + #[serde(rename = "exclusive")] + Exclusive, + #[serde(rename = "inclusive")] + Inclusive, + +} + +impl std::fmt::Display for SalesInvoiceVatMode { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Exclusive => write!(f, "exclusive"), + Self::Inclusive => write!(f, "inclusive"), + } + } +} + +impl Default for SalesInvoiceVatMode { + fn default() -> SalesInvoiceVatMode { + Self::Exclusive + } +} + diff --git a/src/models/sales_invoice_vat_mode_response.rs b/src/models/sales_invoice_vat_mode_response.rs new file mode 100644 index 0000000..537304d --- /dev/null +++ b/src/models/sales_invoice_vat_mode_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceVatModeResponse : The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. +/// The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceVatModeResponse { + #[serde(rename = "exclusive")] + Exclusive, + #[serde(rename = "inclusive")] + Inclusive, + +} + +impl std::fmt::Display for SalesInvoiceVatModeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Exclusive => write!(f, "exclusive"), + Self::Inclusive => write!(f, "inclusive"), + } + } +} + +impl Default for SalesInvoiceVatModeResponse { + fn default() -> SalesInvoiceVatModeResponse { + Self::Exclusive + } +} + diff --git a/src/models/sales_invoice_vat_scheme.rs b/src/models/sales_invoice_vat_scheme.rs new file mode 100644 index 0000000..6df413a --- /dev/null +++ b/src/models/sales_invoice_vat_scheme.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceVatScheme : The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. +/// The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceVatScheme { + #[serde(rename = "standard")] + Standard, + #[serde(rename = "one-stop-shop")] + OneStopShop, + +} + +impl std::fmt::Display for SalesInvoiceVatScheme { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Standard => write!(f, "standard"), + Self::OneStopShop => write!(f, "one-stop-shop"), + } + } +} + +impl Default for SalesInvoiceVatScheme { + fn default() -> SalesInvoiceVatScheme { + Self::Standard + } +} + diff --git a/src/models/sales_invoice_vat_scheme_response.rs b/src/models/sales_invoice_vat_scheme_response.rs new file mode 100644 index 0000000..c72b639 --- /dev/null +++ b/src/models/sales_invoice_vat_scheme_response.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SalesInvoiceVatSchemeResponse : The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. +/// The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SalesInvoiceVatSchemeResponse { + #[serde(rename = "standard")] + Standard, + #[serde(rename = "one-stop-shop")] + OneStopShop, + +} + +impl std::fmt::Display for SalesInvoiceVatSchemeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Standard => write!(f, "standard"), + Self::OneStopShop => write!(f, "one-stop-shop"), + } + } +} + +impl Default for SalesInvoiceVatSchemeResponse { + fn default() -> SalesInvoiceVatSchemeResponse { + Self::Standard + } +} + diff --git a/src/models/sequence_type.rs b/src/models/sequence_type.rs new file mode 100644 index 0000000..540b411 --- /dev/null +++ b/src/models/sequence_type.rs @@ -0,0 +1,41 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SequenceType { + #[serde(rename = "oneoff")] + Oneoff, + #[serde(rename = "first")] + First, + #[serde(rename = "recurring")] + Recurring, + +} + +impl std::fmt::Display for SequenceType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Oneoff => write!(f, "oneoff"), + Self::First => write!(f, "first"), + Self::Recurring => write!(f, "recurring"), + } + } +} + +impl Default for SequenceType { + fn default() -> SequenceType { + Self::Oneoff + } +} + diff --git a/src/models/sequence_type_response.rs b/src/models/sequence_type_response.rs new file mode 100644 index 0000000..df978aa --- /dev/null +++ b/src/models/sequence_type_response.rs @@ -0,0 +1,41 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SequenceTypeResponse { + #[serde(rename = "oneoff")] + Oneoff, + #[serde(rename = "first")] + First, + #[serde(rename = "recurring")] + Recurring, + +} + +impl std::fmt::Display for SequenceTypeResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Oneoff => write!(f, "oneoff"), + Self::First => write!(f, "first"), + Self::Recurring => write!(f, "recurring"), + } + } +} + +impl Default for SequenceTypeResponse { + fn default() -> SequenceTypeResponse { + Self::Oneoff + } +} + diff --git a/src/models/settlement_status.rs b/src/models/settlement_status.rs new file mode 100644 index 0000000..180e930 --- /dev/null +++ b/src/models/settlement_status.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SettlementStatus : The status of the settlement. +/// The status of the settlement. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SettlementStatus { + #[serde(rename = "open")] + Open, + #[serde(rename = "pending")] + Pending, + #[serde(rename = "paidout")] + Paidout, + #[serde(rename = "failed")] + Failed, + +} + +impl std::fmt::Display for SettlementStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Open => write!(f, "open"), + Self::Pending => write!(f, "pending"), + Self::Paidout => write!(f, "paidout"), + Self::Failed => write!(f, "failed"), + } + } +} + +impl Default for SettlementStatus { + fn default() -> SettlementStatus { + Self::Open + } +} + diff --git a/src/models/status_reason.rs b/src/models/status_reason.rs new file mode 100644 index 0000000..ea3bf58 --- /dev/null +++ b/src/models/status_reason.rs @@ -0,0 +1,33 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// StatusReason : This object offers details about the status of a payment. Currently it is only available for point-of-sale payments. You can find more information about the possible values of this object on [this page](status-reasons).** +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct StatusReason { + #[serde(rename = "code")] + pub code: Box, + /// A description of the status reason, localized according to the payment `locale`. + #[serde(rename = "message")] + pub message: String, +} + +impl StatusReason { + /// This object offers details about the status of a payment. Currently it is only available for point-of-sale payments. You can find more information about the possible values of this object on [this page](status-reasons).** + pub fn new(code: String, message: String) -> StatusReason { + StatusReason { + code: Box::new(code), + message, + } + } +} + diff --git a/src/models/sub_group.rs b/src/models/sub_group.rs new file mode 100644 index 0000000..f7fe98a --- /dev/null +++ b/src/models/sub_group.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubGroup { + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + #[serde(rename = "subtotals", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub subtotals: Option>>, +} + +impl SubGroup { + pub fn new() -> SubGroup { + SubGroup { + amount: None, + subtotals: None, + } + } +} + diff --git a/src/models/sub_totals.rs b/src/models/sub_totals.rs new file mode 100644 index 0000000..ef257e1 --- /dev/null +++ b/src/models/sub_totals.rs @@ -0,0 +1,278 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubTotals { + /// Number of transactions of this type + #[serde(rename = "count", skip_serializing_if = "Option::is_none")] + pub count: Option, + /// Payment type of the transactions + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + /// In case of payments transactions with card, the card issuer will be available + #[serde(rename = "cardIssuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_issuer: Option>, + /// In case of payments trnsactions with card, the card audience will be available. + #[serde(rename = "cardAudience", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_audience: Option>, + /// In case of payments transactions with card, the card region will be available. + #[serde(rename = "cardRegion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub card_region: Option>, + /// Present when the transaction represents a fee. + #[serde(rename = "feeType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub fee_type: Option>, + /// Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. + #[serde(rename = "prepaymentPartType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub prepayment_part_type: Option>, + /// Represents the transaction type + #[serde(rename = "transactionType", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub transaction_type: Option>, +} + +impl SubTotals { + pub fn new() -> SubTotals { + SubTotals { + count: None, + method: None, + card_issuer: None, + card_audience: None, + card_region: None, + fee_type: None, + prepayment_part_type: None, + transaction_type: None, + } + } +} +/// In case of payments transactions with card, the card issuer will be available +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardIssuer { + #[serde(rename = "amex")] + Amex, + #[serde(rename = "maestro")] + Maestro, + #[serde(rename = "carte-bancaire")] + CarteBancaire, + #[serde(rename = "other")] + Other, +} + +impl Default for CardIssuer { + fn default() -> CardIssuer { + Self::Amex + } +} +/// In case of payments trnsactions with card, the card audience will be available. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardAudience { + #[serde(rename = "corporate")] + Corporate, + #[serde(rename = "other")] + Other, +} + +impl Default for CardAudience { + fn default() -> CardAudience { + Self::Corporate + } +} +/// In case of payments transactions with card, the card region will be available. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum CardRegion { + #[serde(rename = "intra-eea")] + IntraEea, + #[serde(rename = "intra-eu")] + IntraEu, + #[serde(rename = "domestic")] + Domestic, + #[serde(rename = "other")] + Other, +} + +impl Default for CardRegion { + fn default() -> CardRegion { + Self::IntraEea + } +} +/// Present when the transaction represents a fee. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum FeeType { + #[serde(rename = "payment-fee")] + PaymentFee, + #[serde(rename = "direct-debit-failure-fee")] + DirectDebitFailureFee, + #[serde(rename = "unauthorized-direct-debit-fee")] + UnauthorizedDirectDebitFee, + #[serde(rename = "bank-charged-direct-debit-failure-fee")] + BankChargedDirectDebitFailureFee, + #[serde(rename = "partner-commission")] + PartnerCommission, + #[serde(rename = "application-fee")] + ApplicationFee, + #[serde(rename = "capture-fee")] + CaptureFee, + #[serde(rename = "refund-fee")] + RefundFee, + #[serde(rename = "chargeback-fee")] + ChargebackFee, + #[serde(rename = "payment-notification-fee")] + PaymentNotificationFee, + #[serde(rename = "transfer-notification-fee")] + TransferNotificationFee, + #[serde(rename = "payout-fee")] + PayoutFee, + #[serde(rename = "fee-discount")] + FeeDiscount, + #[serde(rename = "fee-reimbursement")] + FeeReimbursement, + #[serde(rename = "platform-volume-fee")] + PlatformVolumeFee, + #[serde(rename = "platform-connected-organizations-fee")] + PlatformConnectedOrganizationsFee, + #[serde(rename = "balance-charge-fee")] + BalanceChargeFee, + #[serde(rename = "3ds-authentication-attempt-fee")] + Variant3dsAuthenticationAttemptFee, + #[serde(rename = "terminal-monthly-fee")] + TerminalMonthlyFee, + #[serde(rename = "acceptance-risk-fee")] + AcceptanceRiskFee, + #[serde(rename = "top-up-fee")] + TopUpFee, + #[serde(rename = "payment-gateway-fee")] + PaymentGatewayFee, + #[serde(rename = "mastercard-specialty-merchant-program-processing-fee")] + MastercardSpecialtyMerchantProgramProcessingFee, + #[serde(rename = "mastercard-specialty-merchant-program-registration-fee")] + MastercardSpecialtyMerchantProgramRegistrationFee, + #[serde(rename = "visa-integrity-risk-program-processing-fee")] + VisaIntegrityRiskProgramProcessingFee, + #[serde(rename = "visa-integrity-risk-program-registration-fee")] + VisaIntegrityRiskProgramRegistrationFee, + #[serde(rename = "minimum-invoice-amount-fee")] + MinimumInvoiceAmountFee, +} + +impl Default for FeeType { + fn default() -> FeeType { + Self::PaymentFee + } +} +/// Prepayment part: fee itself, reimbursement, discount, VAT or rounding compensation. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum PrepaymentPartType { + #[serde(rename = "fee")] + Fee, + #[serde(rename = "fee-reimbursement")] + FeeReimbursement, + #[serde(rename = "fee-discount")] + FeeDiscount, + #[serde(rename = "fee-vat")] + FeeVat, + #[serde(rename = "fee-rounding-compensation")] + FeeRoundingCompensation, +} + +impl Default for PrepaymentPartType { + fn default() -> PrepaymentPartType { + Self::Fee + } +} +/// Represents the transaction type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TransactionType { + #[serde(rename = "payment")] + Payment, + #[serde(rename = "split-payment")] + SplitPayment, + #[serde(rename = "failed-payment")] + FailedPayment, + #[serde(rename = "failed-platform-split-payment")] + FailedPlatformSplitPayment, + #[serde(rename = "failed-split-payment-compensation")] + FailedSplitPaymentCompensation, + #[serde(rename = "capture")] + Capture, + #[serde(rename = "split-transaction")] + SplitTransaction, + #[serde(rename = "refund")] + Refund, + #[serde(rename = "platform-payment-refund")] + PlatformPaymentRefund, + #[serde(rename = "returned-platform-payment-refund")] + ReturnedPlatformPaymentRefund, + #[serde(rename = "refund-compensation")] + RefundCompensation, + #[serde(rename = "returned-refund-compensation")] + ReturnedRefundCompensation, + #[serde(rename = "returned-refund")] + ReturnedRefund, + #[serde(rename = "chargeback")] + Chargeback, + #[serde(rename = "chargeback-reversal")] + ChargebackReversal, + #[serde(rename = "chargeback-compensation")] + ChargebackCompensation, + #[serde(rename = "reversed-chargeback-compensation")] + ReversedChargebackCompensation, + #[serde(rename = "platform-payment-chargeback")] + PlatformPaymentChargeback, + #[serde(rename = "reversed-platform-payment-chargeback")] + ReversedPlatformPaymentChargeback, + #[serde(rename = "fee-prepayment")] + FeePrepayment, + #[serde(rename = "outgoing-transfer")] + OutgoingTransfer, + #[serde(rename = "incoming-transfer")] + IncomingTransfer, + #[serde(rename = "canceled-transfer")] + CanceledTransfer, + #[serde(rename = "returned-transfer")] + ReturnedTransfer, + #[serde(rename = "balance-reserve")] + BalanceReserve, + #[serde(rename = "balance-reserve-return")] + BalanceReserveReturn, + #[serde(rename = "invoice-rounding-compensation")] + InvoiceRoundingCompensation, + #[serde(rename = "rolling-reserve-hold")] + RollingReserveHold, + #[serde(rename = "rolling-reserve-release")] + RollingReserveRelease, + #[serde(rename = "balance-correction")] + BalanceCorrection, + #[serde(rename = "repayment")] + Repayment, + #[serde(rename = "loan")] + Loan, + #[serde(rename = "balance-topup")] + BalanceTopup, + #[serde(rename = "cash-collateral-issuance';")] + CashCollateralIssuanceQuoteSemicolon, + #[serde(rename = "cash-collateral-release")] + CashCollateralRelease, + #[serde(rename = "pending-rolling-reserve")] + PendingRollingReserve, + #[serde(rename = "to-be-released-rolling-reserve")] + ToBeReleasedRollingReserve, + #[serde(rename = "held-rolling-reserve")] + HeldRollingReserve, + #[serde(rename = "released-rolling-reserve")] + ReleasedRollingReserve, +} + +impl Default for TransactionType { + fn default() -> TransactionType { + Self::Payment + } +} + diff --git a/src/models/submit_onboarding_data_request.rs b/src/models/submit_onboarding_data_request.rs new file mode 100644 index 0000000..9290c9f --- /dev/null +++ b/src/models/submit_onboarding_data_request.rs @@ -0,0 +1,30 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmitOnboardingDataRequest { + #[serde(rename = "organization", skip_serializing_if = "Option::is_none")] + pub organization: Option>, + #[serde(rename = "profile", skip_serializing_if = "Option::is_none")] + pub profile: Option>, +} + +impl SubmitOnboardingDataRequest { + pub fn new() -> SubmitOnboardingDataRequest { + SubmitOnboardingDataRequest { + organization: None, + profile: None, + } + } +} + diff --git a/src/models/submit_onboarding_data_request_organization.rs b/src/models/submit_onboarding_data_request_organization.rs new file mode 100644 index 0000000..9b9ed1e --- /dev/null +++ b/src/models/submit_onboarding_data_request_organization.rs @@ -0,0 +1,60 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmitOnboardingDataRequestOrganization { + /// The name of the organization. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The address of the organization. + #[serde(rename = "address", skip_serializing_if = "Option::is_none")] + pub address: Option>, + /// The registration number of the organization at their local chamber of commerce. + #[serde(rename = "registrationNumber", skip_serializing_if = "Option::is_none")] + pub registration_number: Option, + /// The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are verified against the international registry *VIES*. The field can be omitted for merchants residing in other countries. + #[serde(rename = "vatNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_number: Option>, + /// Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United Kingdom, and shifted VAT for merchants in the European Union. The field can be omitted for merchants residing in other countries. + #[serde(rename = "vatRegulation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub vat_regulation: Option>, +} + +impl SubmitOnboardingDataRequestOrganization { + pub fn new() -> SubmitOnboardingDataRequestOrganization { + SubmitOnboardingDataRequestOrganization { + name: None, + address: None, + registration_number: None, + vat_number: None, + vat_regulation: None, + } + } +} +/// Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United Kingdom, and shifted VAT for merchants in the European Union. The field can be omitted for merchants residing in other countries. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum VatRegulation { + #[serde(rename = "dutch")] + Dutch, + #[serde(rename = "british")] + British, + #[serde(rename = "shifted")] + Shifted, +} + +impl Default for VatRegulation { + fn default() -> VatRegulation { + Self::Dutch + } +} + diff --git a/src/models/submit_onboarding_data_request_profile.rs b/src/models/submit_onboarding_data_request_profile.rs new file mode 100644 index 0000000..0ed989e --- /dev/null +++ b/src/models/submit_onboarding_data_request_profile.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubmitOnboardingDataRequestProfile { + /// The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. + #[serde(rename = "url", skip_serializing_if = "Option::is_none")] + pub url: Option, + /// The email address associated with the profile's trade name or brand. + #[serde(rename = "email", skip_serializing_if = "Option::is_none")] + pub email: Option, + /// The phone number associated with the profile's trade name or brand. + #[serde(rename = "phone", skip_serializing_if = "Option::is_none")] + pub phone: Option, + /// The products or services offered by the profile's website or application. + #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub description: Option>, + /// The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types) for all possible options. + #[serde(rename = "businessCategory", skip_serializing_if = "Option::is_none")] + pub business_category: Option, +} + +impl SubmitOnboardingDataRequestProfile { + pub fn new() -> SubmitOnboardingDataRequestProfile { + SubmitOnboardingDataRequestProfile { + name: None, + url: None, + email: None, + phone: None, + description: None, + business_category: None, + } + } +} + diff --git a/src/models/subscription_method.rs b/src/models/subscription_method.rs new file mode 100644 index 0000000..e241acc --- /dev/null +++ b/src/models/subscription_method.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubscriptionMethod : The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. +/// The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SubscriptionMethod { + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "paypal")] + Paypal, + +} + +impl std::fmt::Display for SubscriptionMethod { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Paypal => write!(f, "paypal"), + } + } +} + +impl Default for SubscriptionMethod { + fn default() -> SubscriptionMethod { + Self::Creditcard + } +} + diff --git a/src/models/subscription_method_response.rs b/src/models/subscription_method_response.rs new file mode 100644 index 0000000..c228bdc --- /dev/null +++ b/src/models/subscription_method_response.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubscriptionMethodResponse : The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. +/// The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SubscriptionMethodResponse { + #[serde(rename = "creditcard")] + Creditcard, + #[serde(rename = "directdebit")] + Directdebit, + #[serde(rename = "paypal")] + Paypal, + +} + +impl std::fmt::Display for SubscriptionMethodResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Creditcard => write!(f, "creditcard"), + Self::Directdebit => write!(f, "directdebit"), + Self::Paypal => write!(f, "paypal"), + } + } +} + +impl Default for SubscriptionMethodResponse { + fn default() -> SubscriptionMethodResponse { + Self::Creditcard + } +} + diff --git a/src/models/subscription_request.rs b/src/models/subscription_request.rs new file mode 100644 index 0000000..1c0542e --- /dev/null +++ b/src/models/subscription_request.rs @@ -0,0 +1,100 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubscriptionRequest { + /// Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. + #[serde(rename = "times", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub times: Option>, + /// Number of payments left for the subscription. + #[serde(rename = "timesRemaining", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub times_remaining: Option>, + /// Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. + #[serde(rename = "interval", skip_serializing_if = "Option::is_none")] + pub interval: Option, + /// The start date of the subscription in `YYYY-MM-DD` format. + #[serde(rename = "startDate", skip_serializing_if = "Option::is_none")] + pub start_date: Option, + /// The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. + #[serde(rename = "nextPaymentDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub next_payment_date: Option>, + /// The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). + #[serde(rename = "canceledAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl SubscriptionRequest { + pub fn new() -> SubscriptionRequest { + SubscriptionRequest { + resource: None, + id: None, + mode: None, + status: None, + amount: None, + times: None, + times_remaining: None, + interval: None, + start_date: None, + next_payment_date: None, + description: None, + method: None, + application_fee: None, + metadata: None, + webhook_url: None, + customer_id: None, + mandate_id: None, + created_at: None, + canceled_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/subscription_response.rs b/src/models/subscription_response.rs new file mode 100644 index 0000000..e671a3d --- /dev/null +++ b/src/models/subscription_response.rs @@ -0,0 +1,100 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct SubscriptionResponse { + /// Indicates the response contains a subscription object. Will always contain the string `subscription` for this endpoint. + #[serde(rename = "resource", skip_serializing_if = "Option::is_none")] + pub resource: Option, + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "mode", skip_serializing_if = "Option::is_none")] + pub mode: Option, + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// The amount for each individual payment that is charged with this subscription. For example, for a monthly subscription of €10, the subscription amount should be set to €10. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. + #[serde(rename = "times", skip_serializing_if = "Option::is_none")] + pub times: Option, + /// Number of payments left for the subscription. + #[serde(rename = "timesRemaining", skip_serializing_if = "Option::is_none")] + pub times_remaining: Option, + /// Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. + #[serde(rename = "interval", skip_serializing_if = "Option::is_none")] + pub interval: Option, + /// The start date of the subscription in `YYYY-MM-DD` format. + #[serde(rename = "startDate", skip_serializing_if = "Option::is_none")] + pub start_date: Option, + /// The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled, this parameter will not be returned. + #[serde(rename = "nextPaymentDate", skip_serializing_if = "Option::is_none")] + pub next_payment_date: Option, + /// The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + #[serde(rename = "applicationFee", skip_serializing_if = "Option::is_none")] + pub application_fee: Option>, + /// Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde(rename = "customerId", skip_serializing_if = "Option::is_none")] + pub customer_id: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. + #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")] + pub created_at: Option, + /// The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the subscription is not canceled (yet). + #[serde(rename = "canceledAt", skip_serializing_if = "Option::is_none")] + pub canceled_at: Option, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", skip_serializing_if = "Option::is_none")] + pub testmode: Option, + #[serde(rename = "_links", skip_serializing_if = "Option::is_none")] + pub _links: Option>, +} + +impl SubscriptionResponse { + pub fn new() -> SubscriptionResponse { + SubscriptionResponse { + resource: None, + id: None, + mode: None, + status: None, + amount: None, + times: None, + times_remaining: None, + interval: None, + start_date: None, + next_payment_date: None, + description: None, + method: None, + application_fee: None, + metadata: None, + webhook_url: None, + customer_id: None, + mandate_id: None, + created_at: None, + canceled_at: None, + testmode: None, + _links: None, + } + } +} + diff --git a/src/models/subscription_status.rs b/src/models/subscription_status.rs new file mode 100644 index 0000000..cfa40ae --- /dev/null +++ b/src/models/subscription_status.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// SubscriptionStatus : The subscription's current status is directly related to the status of the underlying customer or mandate that is enabling the subscription. +/// The subscription's current status is directly related to the status of the underlying customer or mandate that is enabling the subscription. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum SubscriptionStatus { + #[serde(rename = "pending")] + Pending, + #[serde(rename = "active")] + Active, + #[serde(rename = "canceled")] + Canceled, + #[serde(rename = "suspended")] + Suspended, + #[serde(rename = "completed")] + Completed, + +} + +impl std::fmt::Display for SubscriptionStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pending => write!(f, "pending"), + Self::Active => write!(f, "active"), + Self::Canceled => write!(f, "canceled"), + Self::Suspended => write!(f, "suspended"), + Self::Completed => write!(f, "completed"), + } + } +} + +impl Default for SubscriptionStatus { + fn default() -> SubscriptionStatus { + Self::Pending + } +} + diff --git a/src/models/terminal_brand.rs b/src/models/terminal_brand.rs new file mode 100644 index 0000000..7f1147b --- /dev/null +++ b/src/models/terminal_brand.rs @@ -0,0 +1,39 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TerminalBrand : The brand of the terminal. +/// The brand of the terminal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TerminalBrand { + #[serde(rename = "PAX")] + Pax, + #[serde(rename = "Tap")] + Tap, + +} + +impl std::fmt::Display for TerminalBrand { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pax => write!(f, "PAX"), + Self::Tap => write!(f, "Tap"), + } + } +} + +impl Default for TerminalBrand { + fn default() -> TerminalBrand { + Self::Pax + } +} + diff --git a/src/models/terminal_model.rs b/src/models/terminal_model.rs new file mode 100644 index 0000000..ead892e --- /dev/null +++ b/src/models/terminal_model.rs @@ -0,0 +1,51 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TerminalModel : The model of the terminal. For example for a PAX A920, this field's value will be `A920`. +/// The model of the terminal. For example for a PAX A920, this field's value will be `A920`. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TerminalModel { + #[serde(rename = "A35")] + A35, + #[serde(rename = "A77")] + A77, + #[serde(rename = "A920")] + A920, + #[serde(rename = "A920Pro")] + A920Pro, + #[serde(rename = "IM30")] + Im30, + #[serde(rename = "Tap")] + Tap, + +} + +impl std::fmt::Display for TerminalModel { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::A35 => write!(f, "A35"), + Self::A77 => write!(f, "A77"), + Self::A920 => write!(f, "A920"), + Self::A920Pro => write!(f, "A920Pro"), + Self::Im30 => write!(f, "IM30"), + Self::Tap => write!(f, "Tap"), + } + } +} + +impl Default for TerminalModel { + fn default() -> TerminalModel { + Self::A35 + } +} + diff --git a/src/models/terminal_status.rs b/src/models/terminal_status.rs new file mode 100644 index 0000000..0eb5674 --- /dev/null +++ b/src/models/terminal_status.rs @@ -0,0 +1,42 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// TerminalStatus : The status of the terminal. +/// The status of the terminal. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum TerminalStatus { + #[serde(rename = "pending")] + Pending, + #[serde(rename = "active")] + Active, + #[serde(rename = "inactive")] + Inactive, + +} + +impl std::fmt::Display for TerminalStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Pending => write!(f, "pending"), + Self::Active => write!(f, "active"), + Self::Inactive => write!(f, "inactive"), + } + } +} + +impl Default for TerminalStatus { + fn default() -> TerminalStatus { + Self::Pending + } +} + diff --git a/src/models/update_payment_link_request.rs b/src/models/update_payment_link_request.rs new file mode 100644 index 0000000..0308e77 --- /dev/null +++ b/src/models/update_payment_link_request.rs @@ -0,0 +1,56 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdatePaymentLinkRequest { + /// A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible. Updating the description does not affect any previously existing payments created for this payment link. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount. + #[serde(rename = "minimumAmount", skip_serializing_if = "Option::is_none")] + pub minimum_amount: Option>, + /// Whether the payment link is archived. Customers will not be able to complete payments on archived payment links. + #[serde(rename = "archived", skip_serializing_if = "Option::is_none")] + pub archived: Option, + /// An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Enum: 'applepay', 'bancomatpay', 'bancontact', 'banktransfer', 'belfius', 'blik', 'creditcard', 'eps', 'giftcard', 'ideal', 'kbc', 'mybank', 'paybybank', 'paypal', 'paysafecard', 'pointofsale', 'przelewy24', 'satispay', 'trustly', 'twint', 'in3', 'riverty', 'klarna', 'billie'. + #[serde(rename = "allowedMethods", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub allowed_methods: Option>>, + /// Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`. + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + /// The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl UpdatePaymentLinkRequest { + pub fn new() -> UpdatePaymentLinkRequest { + UpdatePaymentLinkRequest { + description: None, + minimum_amount: None, + archived: None, + allowed_methods: None, + lines: None, + billing_address: None, + shipping_address: None, + testmode: None, + } + } +} + diff --git a/src/models/update_payment_request.rs b/src/models/update_payment_request.rs new file mode 100644 index 0000000..d938214 --- /dev/null +++ b/src/models/update_payment_request.rs @@ -0,0 +1,74 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdatePaymentRequest { + /// The description of the payment. This will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`. + #[serde(rename = "redirectUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub redirect_url: Option>, + /// The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations. + #[serde(rename = "cancelUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub cancel_url: Option>, + /// The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine. + #[serde(rename = "webhookUrl", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option>, + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + #[serde(rename = "method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub method: Option>, + #[serde(rename = "locale", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub locale: Option>, + /// The date by which the payment should be completed in `YYYY-MM-DD` format + #[serde(rename = "dueDate", skip_serializing_if = "Option::is_none")] + pub due_date: Option, + /// For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`. + #[serde(rename = "restrictPaymentMethodsToCountry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub restrict_payment_methods_to_country: Option>, + /// Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + /// **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank). + #[serde(rename = "issuer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub issuer: Option>, + #[serde(rename = "billingAddress", skip_serializing_if = "Option::is_none")] + pub billing_address: Option>, + #[serde(rename = "shippingAddress", skip_serializing_if = "Option::is_none")] + pub shipping_address: Option>, + #[serde(rename = "billingEmail", skip_serializing_if = "Option::is_none")] + pub billing_email: Option, +} + +impl UpdatePaymentRequest { + pub fn new() -> UpdatePaymentRequest { + UpdatePaymentRequest { + description: None, + redirect_url: None, + cancel_url: None, + webhook_url: None, + metadata: None, + method: None, + locale: None, + due_date: None, + restrict_payment_methods_to_country: None, + testmode: None, + issuer: None, + billing_address: None, + shipping_address: None, + billing_email: None, + } + } +} + diff --git a/src/models/update_profile_request.rs b/src/models/update_profile_request.rs new file mode 100644 index 0000000..4904c77 --- /dev/null +++ b/src/models/update_profile_request.rs @@ -0,0 +1,70 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateProfileRequest { + /// The profile's name, this will usually reflect the trade name or brand name of the profile's website or application. + #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub name: Option>, + /// The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are allowed. + #[serde(rename = "website", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub website: Option>, + /// The email address associated with the profile's trade name or brand. + #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub email: Option>, + /// The phone number associated with the profile's trade name or brand. + #[serde(rename = "phone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub phone: Option>, + /// The products or services offered by the profile's website or application. + #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub description: Option>, + /// A list of countries where you expect that the majority of the profile's customers reside, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. + #[serde(rename = "countriesOfActivity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub countries_of_activity: Option>>, + /// The industry associated with the profile's trade name or brand. Please refer to the [business category list](common-data-types) for all possible options. + #[serde(rename = "businessCategory", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub business_category: Option>, + /// Updating a profile from `test` mode to `live` mode will trigger a verification process, where we review the profile before it can start accepting payments. + #[serde(rename = "mode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub mode: Option>, +} + +impl UpdateProfileRequest { + pub fn new() -> UpdateProfileRequest { + UpdateProfileRequest { + name: None, + website: None, + email: None, + phone: None, + description: None, + countries_of_activity: None, + business_category: None, + mode: None, + } + } +} +/// Updating a profile from `test` mode to `live` mode will trigger a verification process, where we review the profile before it can start accepting payments. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum Mode { + #[serde(rename = "live")] + Live, + #[serde(rename = "test")] + Test, +} + +impl Default for Mode { + fn default() -> Mode { + Self::Live + } +} + diff --git a/src/models/update_subscription_request.rs b/src/models/update_subscription_request.rs new file mode 100644 index 0000000..abd8d52 --- /dev/null +++ b/src/models/update_subscription_request.rs @@ -0,0 +1,59 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateSubscriptionRequest { + /// Update the amount for future payments of this subscription. + #[serde(rename = "amount", skip_serializing_if = "Option::is_none")] + pub amount: Option>, + /// The subscription's description will be used as the description of the resulting individual payments and so showing up on the bank statement of the consumer. **Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions. + #[serde(rename = "description", skip_serializing_if = "Option::is_none")] + pub description: Option, + /// Interval to wait between payments, for example `1 month` or `14 days`. The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`). Possible values: `... days`, `... weeks`, `... months`. + #[serde(rename = "interval", skip_serializing_if = "Option::is_none")] + pub interval: Option, + /// The start date of the subscription in `YYYY-MM-DD` format. + #[serde(rename = "startDate", skip_serializing_if = "Option::is_none")] + pub start_date: Option, + /// Total number of payments for the subscription. Once this number of payments is reached, the subscription is considered completed. Test mode subscriptions will get canceled automatically after 10 payments. + #[serde(rename = "times", skip_serializing_if = "Option::is_none")] + pub times: Option, + /// Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB. Any metadata added to the subscription will be automatically forwarded to the payments generated for it. + #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub metadata: Option>>, + /// We will call this URL for any payment status changes of payments resulting from this subscription. This webhook will receive **all** events for the subscription's payments. This may include payment failures as well. Be sure to verify the payment's subscription ID and its status. + #[serde(rename = "webhookUrl", skip_serializing_if = "Option::is_none")] + pub webhook_url: Option, + #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")] + pub mandate_id: Option, + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl UpdateSubscriptionRequest { + pub fn new() -> UpdateSubscriptionRequest { + UpdateSubscriptionRequest { + amount: None, + description: None, + interval: None, + start_date: None, + times: None, + metadata: None, + webhook_url: None, + mandate_id: None, + testmode: None, + } + } +} + diff --git a/src/models/update_values_sales_invoice.rs b/src/models/update_values_sales_invoice.rs new file mode 100644 index 0000000..845bb73 --- /dev/null +++ b/src/models/update_values_sales_invoice.rs @@ -0,0 +1,63 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateValuesSalesInvoice { + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, + /// The status for the invoice to end up in. Dependent parameters: `paymentDetails` for `paid`, `emailDetails` for `issued` and `paid`. + #[serde(rename = "status", skip_serializing_if = "Option::is_none")] + pub status: Option, + /// A free-form memo you can set on the invoice, and will be shown on the invoice PDF. + #[serde(rename = "memo", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub memo: Option>, + #[serde(rename = "paymentTerm", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub payment_term: Option>, + /// Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status. + #[serde(rename = "paymentDetails", skip_serializing_if = "Option::is_none")] + pub payment_details: Option>, + /// Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status. + #[serde(rename = "emailDetails", skip_serializing_if = "Option::is_none")] + pub email_details: Option>, + /// An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient. + #[serde(rename = "recipientIdentifier", skip_serializing_if = "Option::is_none")] + pub recipient_identifier: Option, + /// The recipient object should contain all the information relevant to create an invoice for an intended recipient. This data will be stored, updated, and re-used as appropriate, based on the `recipientIdentifier`. + #[serde(rename = "recipient", skip_serializing_if = "Option::is_none")] + pub recipient: Option>, + /// Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice. + #[serde(rename = "lines", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub lines: Option>>, + /// The discount to be applied to the entire invoice, possibly on top of the line item discounts. + #[serde(rename = "discount", skip_serializing_if = "Option::is_none")] + pub discount: Option>, +} + +impl UpdateValuesSalesInvoice { + pub fn new() -> UpdateValuesSalesInvoice { + UpdateValuesSalesInvoice { + testmode: None, + status: None, + memo: None, + payment_term: None, + payment_details: None, + email_details: None, + recipient_identifier: None, + recipient: None, + lines: None, + discount: None, + } + } +} + diff --git a/src/models/update_webhook_request.rs b/src/models/update_webhook_request.rs new file mode 100644 index 0000000..42e851f --- /dev/null +++ b/src/models/update_webhook_request.rs @@ -0,0 +1,40 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UpdateWebhookRequest { + /// A name that identifies the webhook. + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + /// The URL Mollie will send the events to. This URL must be publicly accessible. + #[serde(rename = "url", skip_serializing_if = "Option::is_none")] + pub url: Option, + /// The list of events to enable for this webhook. You may specify `'*'` to add all events, except those that require explicit selection. Separate multiple event types with a comma. + #[serde(rename = "eventTypes", skip_serializing_if = "Option::is_none")] + pub event_types: Option, + /// Most API credentials are specifically created for either live mode or test mode. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa. + #[serde(rename = "testmode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub testmode: Option>, +} + +impl UpdateWebhookRequest { + pub fn new() -> UpdateWebhookRequest { + UpdateWebhookRequest { + name: None, + url: None, + event_types: None, + testmode: None, + } + } +} + diff --git a/src/models/url.rs b/src/models/url.rs new file mode 100644 index 0000000..e61555b --- /dev/null +++ b/src/models/url.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// Url : In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Url { + /// The actual URL string. + #[serde(rename = "href")] + pub href: String, + /// The content type of the page or endpoint the URL points to. + #[serde(rename = "type")] + pub r#type: String, +} + +impl Url { + /// In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. + pub fn new(href: String, r#type: String) -> Url { + Url { + href, + r#type, + } + } +} + diff --git a/src/models/url_nullable.rs b/src/models/url_nullable.rs new file mode 100644 index 0000000..c831f91 --- /dev/null +++ b/src/models/url_nullable.rs @@ -0,0 +1,34 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// UrlNullable : In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct UrlNullable { + /// The actual URL string. + #[serde(rename = "href", skip_serializing_if = "Option::is_none")] + pub href: Option, + /// The content type of the page or endpoint the URL points to. + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] + pub r#type: Option, +} + +impl UrlNullable { + /// In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field. + pub fn new() -> UrlNullable { + UrlNullable { + href: None, + r#type: None, + } + } +} + diff --git a/src/models/voucher.rs b/src/models/voucher.rs new file mode 100644 index 0000000..6e834b1 --- /dev/null +++ b/src/models/voucher.rs @@ -0,0 +1,48 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Voucher { + /// Indicates the response contains a payment method issuer object. Will always contain the string `issuer` for this endpoint. + #[serde(rename = "resource")] + pub resource: String, + /// The unique identifier of the payment method issuer. + #[serde(rename = "id")] + pub id: String, + /// The full name of the payment method issuer. + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "image")] + pub image: Box, + #[serde(rename = "status")] + pub status: models::MethodIssuerStatus, + #[serde(rename = "contractor")] + pub contractor: Box, + #[serde(rename = "_links")] + pub _links: Box, +} + +impl Voucher { + pub fn new(resource: String, id: String, name: String, image: models::VoucherImage, status: models::MethodIssuerStatus, contractor: models::VoucherContractor, _links: models::EntityBalanceLinks) -> Voucher { + Voucher { + resource, + id, + name, + image: Box::new(image), + status, + contractor: Box::new(contractor), + _links: Box::new(_links), + } + } +} + diff --git a/src/models/voucher_contractor.rs b/src/models/voucher_contractor.rs new file mode 100644 index 0000000..3878f0f --- /dev/null +++ b/src/models/voucher_contractor.rs @@ -0,0 +1,35 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// VoucherContractor : Information regarding the *contractor*. Only relevant for `voucher` issuers. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VoucherContractor { + #[serde(rename = "id", skip_serializing_if = "Option::is_none")] + pub id: Option, + #[serde(rename = "name", skip_serializing_if = "Option::is_none")] + pub name: Option, + #[serde(rename = "contractId", skip_serializing_if = "Option::is_none")] + pub contract_id: Option, +} + +impl VoucherContractor { + /// Information regarding the *contractor*. Only relevant for `voucher` issuers. + pub fn new() -> VoucherContractor { + VoucherContractor { + id: None, + name: None, + contract_id: None, + } + } +} + diff --git a/src/models/voucher_image.rs b/src/models/voucher_image.rs new file mode 100644 index 0000000..926d425 --- /dev/null +++ b/src/models/voucher_image.rs @@ -0,0 +1,38 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// VoucherImage : URLs of images representing the payment method issuer. +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct VoucherImage { + /// The URL pointing to an icon of 32 by 24 pixels. + #[serde(rename = "size1x", skip_serializing_if = "Option::is_none")] + pub size1x: Option, + /// The URL pointing to an icon of 64 by 48 pixels. + #[serde(rename = "size2x", skip_serializing_if = "Option::is_none")] + pub size2x: Option, + /// The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can scale to any desired size without compromising visual quality. + #[serde(rename = "svg", skip_serializing_if = "Option::is_none")] + pub svg: Option, +} + +impl VoucherImage { + /// URLs of images representing the payment method issuer. + pub fn new() -> VoucherImage { + VoucherImage { + size1x: None, + size2x: None, + svg: None, + } + } +} + diff --git a/src/models/webhook_event_types.rs b/src/models/webhook_event_types.rs new file mode 100644 index 0000000..69a21b9 --- /dev/null +++ b/src/models/webhook_event_types.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebhookEventTypes : The event's type +/// The event's type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WebhookEventTypes { + #[serde(rename = "payment-link.paid")] + PaymentLinkPaid, + #[serde(rename = "balance-transaction.created")] + BalanceTransactionCreated, + #[serde(rename = "sales-invoice.created")] + SalesInvoiceCreated, + #[serde(rename = "sales-invoice.issued")] + SalesInvoiceIssued, + #[serde(rename = "sales-invoice.canceled")] + SalesInvoiceCanceled, + #[serde(rename = "sales-invoice.paid")] + SalesInvoicePaid, + #[serde(rename = "*")] + Star, + +} + +impl std::fmt::Display for WebhookEventTypes { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::PaymentLinkPaid => write!(f, "payment-link.paid"), + Self::BalanceTransactionCreated => write!(f, "balance-transaction.created"), + Self::SalesInvoiceCreated => write!(f, "sales-invoice.created"), + Self::SalesInvoiceIssued => write!(f, "sales-invoice.issued"), + Self::SalesInvoiceCanceled => write!(f, "sales-invoice.canceled"), + Self::SalesInvoicePaid => write!(f, "sales-invoice.paid"), + Self::Star => write!(f, "*"), + } + } +} + +impl Default for WebhookEventTypes { + fn default() -> WebhookEventTypes { + Self::PaymentLinkPaid + } +} + diff --git a/src/models/webhook_event_types_response.rs b/src/models/webhook_event_types_response.rs new file mode 100644 index 0000000..ade0266 --- /dev/null +++ b/src/models/webhook_event_types_response.rs @@ -0,0 +1,54 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebhookEventTypesResponse : The event's type +/// The event's type +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WebhookEventTypesResponse { + #[serde(rename = "payment-link.paid")] + PaymentLinkPaid, + #[serde(rename = "balance-transaction.created")] + BalanceTransactionCreated, + #[serde(rename = "sales-invoice.created")] + SalesInvoiceCreated, + #[serde(rename = "sales-invoice.issued")] + SalesInvoiceIssued, + #[serde(rename = "sales-invoice.canceled")] + SalesInvoiceCanceled, + #[serde(rename = "sales-invoice.paid")] + SalesInvoicePaid, + #[serde(rename = "*")] + Star, + +} + +impl std::fmt::Display for WebhookEventTypesResponse { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::PaymentLinkPaid => write!(f, "payment-link.paid"), + Self::BalanceTransactionCreated => write!(f, "balance-transaction.created"), + Self::SalesInvoiceCreated => write!(f, "sales-invoice.created"), + Self::SalesInvoiceIssued => write!(f, "sales-invoice.issued"), + Self::SalesInvoiceCanceled => write!(f, "sales-invoice.canceled"), + Self::SalesInvoicePaid => write!(f, "sales-invoice.paid"), + Self::Star => write!(f, "*"), + } + } +} + +impl Default for WebhookEventTypesResponse { + fn default() -> WebhookEventTypesResponse { + Self::PaymentLinkPaid + } +} + diff --git a/src/models/webhook_status.rs b/src/models/webhook_status.rs new file mode 100644 index 0000000..1733132 --- /dev/null +++ b/src/models/webhook_status.rs @@ -0,0 +1,45 @@ +/* + * Mollie API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; +use serde::{Deserialize, Serialize}; + +/// WebhookStatus : The subscription's current status. +/// The subscription's current status. +#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] +pub enum WebhookStatus { + #[serde(rename = "enabled")] + Enabled, + #[serde(rename = "blocked")] + Blocked, + #[serde(rename = "disabled")] + Disabled, + #[serde(rename = "deleted")] + Deleted, + +} + +impl std::fmt::Display for WebhookStatus { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Enabled => write!(f, "enabled"), + Self::Blocked => write!(f, "blocked"), + Self::Disabled => write!(f, "disabled"), + Self::Deleted => write!(f, "deleted"), + } + } +} + +impl Default for WebhookStatus { + fn default() -> WebhookStatus { + Self::Enabled + } +} +