Showing preview only (1,376K chars total). Download the full file or copy to clipboard to get everything.
Repository: Viincenttt/MollieApi
Branch: development
Commit: d9e4389a22d1
Files: 494
Total size: 1.2 MB
Directory structure:
gitextract_xm20k__5/
├── .editorconfig
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── dotnetcore.yml
├── .gitignore
├── AGENTS.md
├── Directory.Build.props
├── LICENSE
├── MollieApi.sln
├── README.md
├── mollie.publickey.txt
├── samples/
│ └── Mollie.WebApplication.Blazor/
│ ├── App.razor
│ ├── Framework/
│ │ ├── StaticStringListBuilder.cs
│ │ └── Validators/
│ │ ├── DecimalPlacesAttribute.cs
│ │ └── StaticStringListAttribute.cs
│ ├── Models/
│ │ ├── Customer/
│ │ │ └── CreateCustomerModel.cs
│ │ ├── Mandate/
│ │ │ └── CreateMandateModel.cs
│ │ ├── Order/
│ │ │ ├── CreateOrderBillingAddressModel.cs
│ │ │ ├── CreateOrderLineModel.cs
│ │ │ └── CreateOrderModel.cs
│ │ ├── Payment/
│ │ │ └── CreatePaymentModel.cs
│ │ ├── PaymentLink/
│ │ │ └── CreatePaymentModel.cs
│ │ ├── Subscription/
│ │ │ ├── CreateSubscriptionModel.cs
│ │ │ └── IntervalPeriod.cs
│ │ └── Webhook/
│ │ └── CreateWebhookModel.cs
│ ├── Mollie.WebApplication.Blazor.csproj
│ ├── Pages/
│ │ ├── Customer/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── Mandate/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Order/
│ │ │ ├── Components/
│ │ │ │ ├── OrderAddressEditor.razor
│ │ │ │ └── OrderLineEditor.razor
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Payment/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── PaymentLink/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── PaymentMethod/
│ │ │ └── Overview.razor
│ │ ├── Subscription/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Terminal/
│ │ │ └── Overview.razor
│ │ ├── Webhook/
│ │ │ ├── Components/
│ │ │ │ └── EventTypeEditor.razor
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties/
│ │ └── launchSettings.json
│ ├── Shared/
│ │ ├── ApiExceptionDisplay.razor
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── OverviewNavigation.razor
│ ├── Webhooks/
│ │ ├── Classic/
│ │ │ └── PaymentController.cs
│ │ └── Nextgen/
│ │ ├── Controllers/
│ │ │ └── PaymentLinkController.cs
│ │ └── MinimalApi/
│ │ └── WebhookHandler.cs
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot/
│ └── css/
│ ├── open-iconic/
│ │ ├── FONT-LICENSE
│ │ ├── ICON-LICENSE
│ │ ├── README.md
│ │ └── font/
│ │ └── fonts/
│ │ └── open-iconic.otf
│ └── site.css
├── src/
│ ├── Mollie.Api/
│ │ ├── Client/
│ │ │ ├── Abstract/
│ │ │ │ ├── IBalanceClient.cs
│ │ │ │ ├── IBalanceTransferClient.cs
│ │ │ │ ├── IBaseMollieClient.cs
│ │ │ │ ├── ICapabilityClient.cs
│ │ │ │ ├── ICaptureClient.cs
│ │ │ │ ├── IChargebackClient.cs
│ │ │ │ ├── IClientClient.cs
│ │ │ │ ├── IClientLinkClient.cs
│ │ │ │ ├── IConnectClient.cs
│ │ │ │ ├── ICustomerClient.cs
│ │ │ │ ├── IInvoiceClient.cs
│ │ │ │ ├── IMandateClient.cs
│ │ │ │ ├── IOnboardingClient.cs
│ │ │ │ ├── IOrderClient.cs
│ │ │ │ ├── IOrganizationClient.cs
│ │ │ │ ├── IPaymentClient.cs
│ │ │ │ ├── IPaymentLinkClient.cs
│ │ │ │ ├── IPaymentMethodClient.cs
│ │ │ │ ├── IPermissionClient.cs
│ │ │ │ ├── IProfileClient.cs
│ │ │ │ ├── IRefundClient.cs
│ │ │ │ ├── ISalesInvoiceClient.cs
│ │ │ │ ├── ISessionClient.cs
│ │ │ │ ├── ISettlementClient.cs
│ │ │ │ ├── IShipmentClient.cs
│ │ │ │ ├── ISubscriptionClient.cs
│ │ │ │ ├── ITerminalClient.cs
│ │ │ │ ├── IWalletClient.cs
│ │ │ │ ├── IWebhookClient.cs
│ │ │ │ └── IWebhookEventClient.cs
│ │ │ ├── BalanceClient.cs
│ │ │ ├── BalanceTransferClient.cs
│ │ │ ├── BaseMollieClient.cs
│ │ │ ├── CapabilityClient.cs
│ │ │ ├── CaptureClient.cs
│ │ │ ├── ChargebackClient.cs
│ │ │ ├── ClientClient.cs
│ │ │ ├── ClientLinkClient.cs
│ │ │ ├── ConnectClient.cs
│ │ │ ├── CustomerClient.cs
│ │ │ ├── InvoiceClient.cs
│ │ │ ├── MandateClient.cs
│ │ │ ├── MollieApiException.cs
│ │ │ ├── OauthBaseMollieClient.cs
│ │ │ ├── OnboardingClient.cs
│ │ │ ├── OrderClient.cs
│ │ │ ├── OrganizationClient.cs
│ │ │ ├── PaymentClient.cs
│ │ │ ├── PaymentLinkClient.cs
│ │ │ ├── PaymentMethodClient.cs
│ │ │ ├── PermissionClient.cs
│ │ │ ├── ProfileClient.cs
│ │ │ ├── RefundClient.cs
│ │ │ ├── SalesInvoiceClient.cs
│ │ │ ├── SessionClient.cs
│ │ │ ├── SettlementClient.cs
│ │ │ ├── ShipmentClient.cs
│ │ │ ├── SubscriptionClient.cs
│ │ │ ├── TerminalClient.cs
│ │ │ ├── WalletClient.cs
│ │ │ ├── WebhookClient.cs
│ │ │ └── WebhookEventClient.cs
│ │ ├── DependencyInjection.cs
│ │ ├── Extensions/
│ │ │ ├── DateTimeExtensions.cs
│ │ │ ├── DictionaryExtensions.cs
│ │ │ ├── HttpClientExtensions.cs
│ │ │ └── ListExtensions.cs
│ │ ├── Framework/
│ │ │ ├── Authentication/
│ │ │ │ ├── Abstract/
│ │ │ │ │ └── IMollieSecretManager.cs
│ │ │ │ └── DefaultMollieSecretManager.cs
│ │ │ ├── Factories/
│ │ │ │ ├── BalanceReportResponseFactory.cs
│ │ │ │ ├── BalanceTransactionFactory.cs
│ │ │ │ ├── ITypeFactory.cs
│ │ │ │ ├── MandateResponseFactory.cs
│ │ │ │ └── PaymentResponseFactory.cs
│ │ │ ├── Idempotency/
│ │ │ │ └── AsyncLocalVariable.cs
│ │ │ ├── JsonConverterService.cs
│ │ │ └── MollieHttpRetryPolicies.cs
│ │ ├── JsonConverters/
│ │ │ ├── CollectionToCommaSeparatedListConverter.cs
│ │ │ ├── DateJsonConverter.cs
│ │ │ ├── Iso8601DateTimeConverter.cs
│ │ │ ├── ListResponseJsonConverter.cs
│ │ │ ├── MicrosecondEpochConverter.cs
│ │ │ ├── PolymorphicConverter.cs
│ │ │ ├── RawJsonConverter.cs
│ │ │ ├── SettlementPeriodConverter.cs
│ │ │ ├── StringToDecimalConverter.cs
│ │ │ └── WebhookEventEntityJsonConverter.cs
│ │ ├── Models/
│ │ │ ├── AddressObject.cs
│ │ │ ├── Amount.cs
│ │ │ ├── ApplicationFee.cs
│ │ │ ├── Balance/
│ │ │ │ └── Response/
│ │ │ │ ├── BalanceReport/
│ │ │ │ │ ├── BalanceReportAmount.cs
│ │ │ │ │ ├── BalanceReportAmountWithSubtotals.cs
│ │ │ │ │ ├── BalanceReportLinks.cs
│ │ │ │ │ ├── BalanceReportResponse.cs
│ │ │ │ │ ├── BalanceReportSubtotals.cs
│ │ │ │ │ ├── ReportGrouping.cs
│ │ │ │ │ └── Specific/
│ │ │ │ │ ├── StatusBalance/
│ │ │ │ │ │ ├── StatusBalanceAvailableBalance.cs
│ │ │ │ │ │ ├── StatusBalanceReportResponse.cs
│ │ │ │ │ │ ├── StatusBalancesPendingBalance.cs
│ │ │ │ │ │ └── StatusBalancesTotal.cs
│ │ │ │ │ └── TransactionCategories/
│ │ │ │ │ ├── TransactionCategoriesReportResponse.cs
│ │ │ │ │ ├── TransactionCategoriesSummaryBalances.cs
│ │ │ │ │ ├── TransactionCategoriesTotal.cs
│ │ │ │ │ └── TransactionCategoriesTransaction.cs
│ │ │ │ ├── BalanceResponse.cs
│ │ │ │ ├── BalanceResponseLinks.cs
│ │ │ │ ├── BalanceResponseStatus.cs
│ │ │ │ ├── BalanceTransaction/
│ │ │ │ │ ├── BalanceTransactionContextType.cs
│ │ │ │ │ ├── BalanceTransactionResponse.cs
│ │ │ │ │ └── Specific/
│ │ │ │ │ ├── CaptureBalanceTransactionResponse.cs
│ │ │ │ │ ├── ChargebackBalanceTransactionResponse.cs
│ │ │ │ │ ├── InvoiceBalanceTransactionResponse.cs
│ │ │ │ │ ├── PaymentBalanceTransactionResponse.cs
│ │ │ │ │ ├── RefundBalanceTransactionResponse.cs
│ │ │ │ │ └── SettlementBalanceTransactionResponse.cs
│ │ │ │ └── BalanceTransferDestination.cs
│ │ │ ├── BalanceTransfer/
│ │ │ │ ├── BalanceTransferParty.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── BalanceTransferRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── BalanceTransferResponse.cs
│ │ │ │ └── BalanceTransferStatusReason.cs
│ │ │ ├── Capability/
│ │ │ │ ├── CapabilityRequirementStatus.cs
│ │ │ │ ├── CapabilityStatus.cs
│ │ │ │ ├── CapabilityStatusReason.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CapabilityRequirement.cs
│ │ │ │ ├── CapabilityRequirementLinks.cs
│ │ │ │ ├── CapabilityResponse.cs
│ │ │ │ └── CapabilityResponseLinks.cs
│ │ │ ├── Capture/
│ │ │ │ ├── CaptureMode.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── CaptureRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CaptureResponse.cs
│ │ │ │ └── CaptureResponseLinks.cs
│ │ │ ├── Chargeback/
│ │ │ │ └── Response/
│ │ │ │ ├── ChargebackResponse.cs
│ │ │ │ ├── ChargebackResponseLinks.cs
│ │ │ │ └── ChargebackResponseReason.cs
│ │ │ ├── Client/
│ │ │ │ └── Response/
│ │ │ │ ├── ClientCommissionResponse.cs
│ │ │ │ ├── ClientEmbeddedResponse.cs
│ │ │ │ ├── ClientResponse.cs
│ │ │ │ └── ClientResponseLinks.cs
│ │ │ ├── ClientLink/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ClientLinkOwner.cs
│ │ │ │ │ └── ClientLinkRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── ClientLinkResponse.cs
│ │ │ │ └── ClientLinkResponseLinks.cs
│ │ │ ├── CompanyEntityType.cs
│ │ │ ├── CompanyObject.cs
│ │ │ ├── Connect/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── AppPermissions.cs
│ │ │ │ │ ├── RevokeTokenRequest.cs
│ │ │ │ │ ├── TokenRequest.cs
│ │ │ │ │ └── TokenType.cs
│ │ │ │ └── Response/
│ │ │ │ └── TokenResponse.cs
│ │ │ ├── Currency.cs
│ │ │ ├── Customer/
│ │ │ │ ├── Request/
│ │ │ │ │ └── CustomerRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CustomerResponse.cs
│ │ │ │ └── CustomerResponseLinks.cs
│ │ │ ├── Error/
│ │ │ │ └── MollieErrorMessage.cs
│ │ │ ├── IEntity.cs
│ │ │ ├── IProfileRequest.cs
│ │ │ ├── ITestModeRequest.cs
│ │ │ ├── Invoice/
│ │ │ │ └── Response/
│ │ │ │ ├── InvoiceLine.cs
│ │ │ │ ├── InvoiceResponse.cs
│ │ │ │ ├── InvoiceResponseLinks.cs
│ │ │ │ └── InvoiceStatus.cs
│ │ │ ├── Issuer/
│ │ │ │ └── Response/
│ │ │ │ ├── IssuerResponse.cs
│ │ │ │ └── IssuerResponseImage.cs
│ │ │ ├── List/
│ │ │ │ └── Response/
│ │ │ │ ├── ListResponse.cs
│ │ │ │ └── ListResponseLinks.cs
│ │ │ ├── Mandate/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── MandateRequest.cs
│ │ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ │ ├── PayPalMandateRequest.cs
│ │ │ │ │ └── SepaDirectDebitMandateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── MandateResponse.cs
│ │ │ │ ├── MandateResponseLinks.cs
│ │ │ │ ├── MandateStatus.cs
│ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ ├── CreditCardMandateResponse.cs
│ │ │ │ ├── PayPalMandateResponse.cs
│ │ │ │ └── SepaDirectDebitMandateResponse.cs
│ │ │ ├── Mode.cs
│ │ │ ├── Onboarding/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── OnboardingOrganizationRequest.cs
│ │ │ │ │ ├── OnboardingProfileRequest.cs
│ │ │ │ │ └── SubmitOnboardingDataRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── OnboardingStatus.cs
│ │ │ │ ├── OnboardingStatusResponse.cs
│ │ │ │ └── OnboardingStatusResponseLinks.cs
│ │ │ ├── Order/
│ │ │ │ ├── OrderAddressDetails.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ManageOrderLines/
│ │ │ │ │ │ ├── ManageOrderLinesAddOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesAddOperationData.cs
│ │ │ │ │ │ ├── ManageOrderLinesCancelOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesRequest.cs
│ │ │ │ │ │ ├── ManageOrderLinesUpdateOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesUpdateOperationData.cs
│ │ │ │ │ │ ├── ManagerOrderLinesCancelOperationData.cs
│ │ │ │ │ │ └── OrderLineOperation.cs
│ │ │ │ │ ├── OrderLineCancellationRequest.cs
│ │ │ │ │ ├── OrderLineDetails.cs
│ │ │ │ │ ├── OrderLineDetailsType.cs
│ │ │ │ │ ├── OrderLineRequest.cs
│ │ │ │ │ ├── OrderLineUpdateRequest.cs
│ │ │ │ │ ├── OrderPaymentRequest.cs
│ │ │ │ │ ├── OrderRefundRequest.cs
│ │ │ │ │ ├── OrderRequest.cs
│ │ │ │ │ ├── OrderUpdateRequest.cs
│ │ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ │ ├── ApplePaySpecificParameters.cs
│ │ │ │ │ ├── BillieSpecificParameters.cs
│ │ │ │ │ ├── CreditCardSpecificParameters.cs
│ │ │ │ │ ├── GiftcardSpecificParameters.cs
│ │ │ │ │ ├── IDealSpecificParameters.cs
│ │ │ │ │ ├── KbcSpecificParameters.cs
│ │ │ │ │ ├── KlarnaSpecificParameters.cs
│ │ │ │ │ ├── OrderPaymentParameters.cs
│ │ │ │ │ ├── PaySafeCardSpecificParameters.cs
│ │ │ │ │ └── SepaDirectDebitSpecificParameters.cs
│ │ │ │ └── Response/
│ │ │ │ ├── OrderEmbeddedResponse.cs
│ │ │ │ ├── OrderLineResponse.cs
│ │ │ │ ├── OrderLineResponseLinks.cs
│ │ │ │ ├── OrderLineStatus.cs
│ │ │ │ ├── OrderRefundResponse.cs
│ │ │ │ ├── OrderResponse.cs
│ │ │ │ ├── OrderResponseLinks.cs
│ │ │ │ └── OrderStatus.cs
│ │ │ ├── Organization/
│ │ │ │ ├── OrganizationResponse.cs
│ │ │ │ ├── OrganizationResponseLinks.cs
│ │ │ │ ├── PartnerResponse.cs
│ │ │ │ ├── PartnerTypes.cs
│ │ │ │ └── UserAgentToken.cs
│ │ │ ├── Payment/
│ │ │ │ ├── EntryMode.cs
│ │ │ │ ├── Locale.cs
│ │ │ │ ├── PaymentAddressDetails.cs
│ │ │ │ ├── PaymentLine.cs
│ │ │ │ ├── PaymentMethod.cs
│ │ │ │ ├── PaymentStatus.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── PaymentRequest.cs
│ │ │ │ │ ├── PaymentRoutingRequest.cs
│ │ │ │ │ ├── PaymentSpecificParameters/
│ │ │ │ │ │ ├── ApplePayPaymentRequest.cs
│ │ │ │ │ │ ├── BankTransferPaymentRequest.cs
│ │ │ │ │ │ ├── CreditCardPaymentRequest.cs
│ │ │ │ │ │ ├── GiftcardPaymentRequest.cs
│ │ │ │ │ │ ├── IDealPaymentRequest.cs
│ │ │ │ │ │ ├── KbcIssuer.cs
│ │ │ │ │ │ ├── KbcPaymentRequest.cs
│ │ │ │ │ │ ├── PayPalPaymentRequest.cs
│ │ │ │ │ │ ├── PaySafeCardPaymentRequest.cs
│ │ │ │ │ │ ├── PointOfSalePaymentRequest.cs
│ │ │ │ │ │ ├── Przelewy24PaymentRequest.cs
│ │ │ │ │ │ └── SepaDirectDebitRequest.cs
│ │ │ │ │ └── PaymentUpdateRequest.cs
│ │ │ │ ├── Resource.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── PaymentEmbeddedResponse.cs
│ │ │ │ │ ├── PaymentResponse.cs
│ │ │ │ │ ├── PaymentResponseLinks.cs
│ │ │ │ │ ├── PaymentRoutingResponse.cs
│ │ │ │ │ ├── PaymentSpecificParameters/
│ │ │ │ │ │ ├── BancontactPaymentResponse.cs
│ │ │ │ │ │ ├── BankTransferPaymentResponse.cs
│ │ │ │ │ │ ├── BelfiusPaymentResponse.cs
│ │ │ │ │ │ ├── CreditCardPaymentResponse.cs
│ │ │ │ │ │ ├── EpsPaymentResponse.cs
│ │ │ │ │ │ ├── GiftcardPaymentResponse.cs
│ │ │ │ │ │ ├── GiropayPaymentResponse.cs
│ │ │ │ │ │ ├── IdealPaymentResponse.cs
│ │ │ │ │ │ ├── IngHomePayPaymentResponse.cs
│ │ │ │ │ │ ├── KbcPaymentResponse.cs
│ │ │ │ │ │ ├── PayPalPaymentResponse.cs
│ │ │ │ │ │ ├── PaySafeCardPaymentResponse.cs
│ │ │ │ │ │ ├── PointOfSalePaymentResponse.cs
│ │ │ │ │ │ ├── SepaDirectDebitResponse.cs
│ │ │ │ │ │ └── SofortPaymentResponse.cs
│ │ │ │ │ └── QrCode.cs
│ │ │ │ ├── RoutingDestination.cs
│ │ │ │ └── SequenceType.cs
│ │ │ ├── PaymentLink/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── PaymentLinkRequest.cs
│ │ │ │ │ └── PaymentLinkUpdateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── PaymentLinkResponse.cs
│ │ │ │ └── PaymentLinkResponseLinks.cs
│ │ │ ├── PaymentMethod/
│ │ │ │ └── Response/
│ │ │ │ ├── FixedPricingResponse.cs
│ │ │ │ ├── PaymentMethodResponse.cs
│ │ │ │ ├── PaymentMethodResponseImage.cs
│ │ │ │ ├── PaymentMethodResponseLinks.cs
│ │ │ │ ├── PaymentMethodStatus.cs
│ │ │ │ └── PricingResponse.cs
│ │ │ ├── Permission/
│ │ │ │ └── Response/
│ │ │ │ ├── PermissionResponse.cs
│ │ │ │ └── PermissionResponseLInks.cs
│ │ │ ├── Profile/
│ │ │ │ ├── ProfileStatus.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── ProfileRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── ApiKey.cs
│ │ │ │ │ ├── EnableGiftCardIssuerResponse.cs
│ │ │ │ │ ├── EnableGiftCardIssuerResponseLinks.cs
│ │ │ │ │ ├── EnableGiftCardIssuerStatus.cs
│ │ │ │ │ ├── ProfileResponse.cs
│ │ │ │ │ └── ProfileResponseLinks.cs
│ │ │ │ └── ReviewStatus.cs
│ │ │ ├── Refund/
│ │ │ │ ├── Request/
│ │ │ │ │ └── RefundRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── RefundResponse.cs
│ │ │ │ │ ├── RefundResponseLinks.cs
│ │ │ │ │ └── RefundStatus.cs
│ │ │ │ └── RoutingReversal.cs
│ │ │ ├── SalesInvoice/
│ │ │ │ ├── EmailDetails.cs
│ │ │ │ ├── PaymentDetails.cs
│ │ │ │ ├── PaymentDetailsSource.cs
│ │ │ │ ├── PaymentTerm.cs
│ │ │ │ ├── Recipient.cs
│ │ │ │ ├── RecipientType.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── SalesInvoiceRequest.cs
│ │ │ │ │ └── SalesInvoiceUpdateRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── SalesInvoiceResponse.cs
│ │ │ │ │ └── SalesInvoiceResponseLinks.cs
│ │ │ │ ├── SalesInvoiceLine.cs
│ │ │ │ └── SalesInvoiceStatus.cs
│ │ │ ├── Session/
│ │ │ │ ├── Request/
│ │ │ │ │ └── SessionRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── SessionResponse.cs
│ │ │ │ │ ├── SessionResponseLinks.cs
│ │ │ │ │ └── SessionStatus.cs
│ │ │ │ ├── SessionLine.cs
│ │ │ │ ├── SessionLineRecurringDetails.cs
│ │ │ │ └── SessionPaymentDetails.cs
│ │ │ ├── Settlement/
│ │ │ │ └── Response/
│ │ │ │ ├── SettlementPeriod.cs
│ │ │ │ ├── SettlementPeriodCosts.cs
│ │ │ │ ├── SettlementPeriodCostsRate.cs
│ │ │ │ ├── SettlementPeriodRevenue.cs
│ │ │ │ ├── SettlementResponse.cs
│ │ │ │ ├── SettlementResponseLinks.cs
│ │ │ │ └── SettlementStatus.cs
│ │ │ ├── Shipment/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ShipmentLineRequest.cs
│ │ │ │ │ ├── ShipmentRequest.cs
│ │ │ │ │ └── ShipmentUpdateRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── ShipmentResponse.cs
│ │ │ │ │ └── ShipmentResponseLinks.cs
│ │ │ │ └── TrackingObject.cs
│ │ │ ├── SortDirection.cs
│ │ │ ├── StatusReason.cs
│ │ │ ├── Subscription/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── SubscriptionRequest.cs
│ │ │ │ │ └── SubscriptionUpdateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── SubscriptionResponse.cs
│ │ │ │ ├── SubscriptionResponseLinks.cs
│ │ │ │ └── SubscriptionStatus.cs
│ │ │ ├── Terminal/
│ │ │ │ └── Response/
│ │ │ │ ├── TerminalResponse.cs
│ │ │ │ └── TerminalResponseLinks.cs
│ │ │ ├── TestmodeModel.cs
│ │ │ ├── Url/
│ │ │ │ ├── UrlLink.cs
│ │ │ │ └── UrlObjectLink.cs
│ │ │ ├── VatMode.cs
│ │ │ ├── VatScheme.cs
│ │ │ ├── VoucherCategory.cs
│ │ │ ├── Wallet/
│ │ │ │ ├── Request/
│ │ │ │ │ └── ApplePayPaymentSessionRequest.cs
│ │ │ │ └── Response/
│ │ │ │ └── ApplePayPaymentSessionResponse.cs
│ │ │ ├── Webhook/
│ │ │ │ ├── Request/
│ │ │ │ │ └── WebhookRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ └── WebhookResponse.cs
│ │ │ │ └── WebhookEventTypes.cs
│ │ │ └── WebhookEvent/
│ │ │ └── Response/
│ │ │ ├── FullWebhookEventResponse.cs
│ │ │ ├── SimpleWebhookEventResponse.cs
│ │ │ └── WebhookEventResponseLinks.cs
│ │ ├── Mollie.Api.csproj
│ │ └── Options/
│ │ ├── MollieClientOptions.cs
│ │ └── MollieOptions.cs
│ └── Mollie.Api.AspNet/
│ ├── DependencyInjection.cs
│ ├── Mollie.Api.AspNet.csproj
│ └── Webhooks/
│ ├── Authorization/
│ │ ├── MollieSignatureEndpointFilter.cs
│ │ ├── MollieSignatureFilter.cs
│ │ └── MollieSignatureValidator.cs
│ ├── ModelBinding/
│ │ ├── FromMollieWebhookAttribute.cs
│ │ ├── FromMollieWebhookModelBinder.cs
│ │ └── MollieModelBinder.cs
│ └── Options/
│ └── MollieWebhookOptions.cs
└── tests/
├── Mollie.Tests.Integration/
│ ├── Api/
│ │ ├── ApiExceptionTests.cs
│ │ ├── BalanceTests.cs
│ │ ├── CaptureTests.cs
│ │ ├── ConnectTests.cs
│ │ ├── CustomerTests.cs
│ │ ├── MandateTests.cs
│ │ ├── OrderTests.cs
│ │ ├── PaymentLinkTests.cs
│ │ ├── PaymentMethodTests.cs
│ │ ├── PaymentTests.cs
│ │ ├── ProfileTests.cs
│ │ ├── RefundTests.cs
│ │ ├── SalesInvoiceTests.cs
│ │ ├── SessionTests.cs
│ │ ├── ShipmentTests.cs
│ │ ├── SubscriptionTests.cs
│ │ ├── TerminalTests.cs
│ │ ├── WebhookEventTests.cs
│ │ └── WebhookTests.cs
│ ├── Framework/
│ │ ├── BaseMollieApiTestClass.cs
│ │ ├── ConfigurationFactory.cs
│ │ └── MollieIntegrationTestHttpRetryPolicies.cs
│ ├── Mollie.Tests.Integration.csproj
│ ├── Startup.cs
│ ├── appsettings.json
│ └── xunit.runner.json
└── Mollie.Tests.Unit/
├── Client/
│ ├── BalanceClientTests.cs
│ ├── BalanceTransferClientTests.cs
│ ├── BaseClientTests.cs
│ ├── BaseMollieClientTests.cs
│ ├── CapabilityClientTests.cs
│ ├── CaptureClientTests.cs
│ ├── ChargebackClientTests.cs
│ ├── ClientClientTests.cs
│ ├── ClientLinkClientTests.cs
│ ├── ConnectClientTests.cs
│ ├── CustomerClientTests.cs
│ ├── InvoiceClientTests.cs
│ ├── MandateClientTests.cs
│ ├── OnboardingClientTests.cs
│ ├── OrderClientTests.cs
│ ├── OrganizationClientTests.cs
│ ├── PaymentClientTests.cs
│ ├── PaymentLinkClientTests.cs
│ ├── PaymentMethodClientTests.cs
│ ├── PermissionClientTests.cs
│ ├── ProfileClientTests.cs
│ ├── RefundClientTests.cs
│ ├── SalesInvoiceClientTests.cs
│ ├── SettlementClientTests.cs
│ ├── ShipmentClientTests.cs
│ ├── SubscriptionClientTests.cs
│ ├── TerminalClientTests.cs
│ ├── WalletClientTest.cs
│ ├── WebhookClientTests.cs
│ └── WebhookEventClientTests.cs
├── DependencyInjectionTests.cs
├── Extensions/
│ └── DictionaryExtensionsTests.cs
├── Framework/
│ ├── AmountConversionTests.cs
│ ├── Factories/
│ │ ├── BalanceReportResponseFactoryTests.cs
│ │ ├── BalanceTransactionFactoryTests.cs
│ │ └── PaymentResponseFactoryTests.cs
│ └── JsonConverterServiceTests.cs
├── Models/
│ ├── AmountTests.cs
│ └── Payment/
│ └── Request/
│ └── PaymentRequestTests.cs
└── Mollie.Tests.Unit.csproj
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# editorconfig.org
# top-most EditorConfig file
root = true
# Default settings:
# A newline ending every file
# Use 4 spaces as indentation
[*]
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[project.json]
indent_size = 2
# Generated code
[*{_AssemblyInfo.cs,.notsupported.cs}]
generated_code = true
# C# files
[*.cs]
# New line preferences
csharp_new_line_before_open_brace = none
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_object_initializers = false
csharp_new_line_before_members_in_anonymous_types = false
csharp_new_line_between_query_expression_clauses = false
# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_switch_labels = true
csharp_indent_labels = one_less_than_current
# avoid this. unless absolutely necessary
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion
# only use var when it's obvious what the variable type is
csharp_style_var_for_built_in_types = false:none
csharp_style_var_when_type_is_apparent = false:none
csharp_style_var_elsewhere = false:suggestion
# use language keywords instead of BCL types
dotnet_style_predefined_type_for_locals_parameters_members = true:error
dotnet_style_predefined_type_for_member_access = true:error
# name all constant fields using PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
# Code style defaults
csharp_using_directive_placement = outside_namespace:warning
dotnet_sort_system_directives_first = true
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = false
# Expression-level preferences
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
# Expression-bodied members
csharp_style_expression_bodied_methods = true:none
csharp_style_expression_bodied_constructors = false:none
csharp_style_expression_bodied_operators = false:none
csharp_style_expression_bodied_properties = true:none
csharp_style_expression_bodied_indexers = true:none
csharp_style_expression_bodied_accessors = true:none
# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:error
csharp_style_pattern_matching_over_as_with_null_check = true:error
csharp_style_inlined_variable_declaration = true:error
# Null checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion
# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = do_not_ignore
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
# C++ Files
[*.{cpp,h,in}]
curly_bracket_next_line = true
indent_brace_style = Allman
# Xml project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
indent_size = 2
[*.{csproj,vbproj,proj,nativeproj,locproj}]
charset = utf-8
# Xml build files
[*.builds]
indent_size = 2
# Xml files
[*.{xml,stylecop,resx,ruleset}]
indent_size = 2
# Xml config files
[*.{props,targets,config,nuspec}]
indent_size = 2
# YAML config files
[*.{yml,yaml}]
indent_size = 2
# Shell scripts
[*.sh]
end_of_line = lf
[*.{cmd,bat}]
end_of_line = crlf
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
================================================
FILE: .github/FUNDING.yml
================================================
github: [Viincenttt]
================================================
FILE: .github/workflows/dotnetcore.yml
================================================
name: Run automated tests
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: Install dependencies
run: dotnet restore
- name: Build unit test project
run: dotnet build tests/Mollie.Tests.Unit --configuration Release --no-restore
- name: Run unit tests
run: dotnet test tests/Mollie.Tests.Unit --no-restore --verbosity normal
- name: Build integration test project
run: dotnet build tests/Mollie.Tests.Integration --configuration Release --no-restore
- name: Run integration tests
run: dotnet test tests/Mollie.Tests.Integration --filter "TestCategory!=LocalIntegrationTests" --no-restore --verbosity normal
env:
Mollie__ApiKey: ${{ secrets.Mollie__ApiKey }}
Mollie__AccessKey: ${{ secrets.Mollie__AccessKey }}
Mollie__ClientId: ${{ secrets.Mollie__ClientId }}
Mollie__ClientSecret: ${{ secrets.Mollie__ClientSecret }}
publish:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Setup .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: Install dependencies
run: dotnet restore
- name: Prepare strong-name signing key
shell: bash
run: |
if [ -z "${{ secrets.MOLLIE_STRONG_NAME_KEY_BASE64 }}" ]; then
echo "MOLLIE_STRONG_NAME_KEY_BASE64 secret is not set."
exit 1
fi
mkdir -p "$RUNNER_TEMP/signing"
echo "${{ secrets.MOLLIE_STRONG_NAME_KEY_BASE64 }}" | base64 --decode > "$RUNNER_TEMP/signing/mollie.snk"
chmod 600 "$RUNNER_TEMP/signing/mollie.snk"
echo "MOLLIE_STRONG_NAME_KEY_FILE=$RUNNER_TEMP/signing/mollie.snk" >> "$GITHUB_ENV"
- name: Build Mollie.Api
run: dotnet build src/Mollie.Api/Mollie.Api.csproj --configuration Release --no-restore /p:MollieStrongNameKeyFile="$MOLLIE_STRONG_NAME_KEY_FILE"
- name: Build Mollie.Api.AspNet
run: dotnet build src/Mollie.Api.AspNet/Mollie.Api.AspNet.csproj --configuration Release --no-restore /p:MollieStrongNameKeyFile="$MOLLIE_STRONG_NAME_KEY_FILE"
- name: Pack Mollie.Api
run: dotnet pack src/Mollie.Api/Mollie.Api.csproj --configuration Release --no-restore --no-build --output ./nupkgs /p:MollieStrongNameKeyFile="$MOLLIE_STRONG_NAME_KEY_FILE"
- name: Pack Mollie.Api.AspNet
run: dotnet pack src/Mollie.Api.AspNet/Mollie.Api.AspNet.csproj --configuration Release --no-restore --no-build --output ./nupkgs /p:MollieStrongNameKeyFile="$MOLLIE_STRONG_NAME_KEY_FILE"
- name: Push to NuGet
run: dotnet nuget push ./nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
*.snupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Azure Emulator
efc/
rfc/
# Windows Store app package directory
AppPackages/
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.snk
*.publishsettings
node_modules/
orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
# FAKE - F# Make
.fake/
# =========================
# Operating System Files
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Windows
# =========================
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# Custom
**/.idea/
================================================
FILE: AGENTS.md
================================================
# Agents Guide — Mollie API Client for .NET
This document describes the project structure, conventions, and guidelines for AI agents working in this codebase.
---
## Project Overview
This is an open-source .NET library that wraps the [Mollie REST API](https://docs.mollie.com/). It is published as two NuGet packages:
| Package | Path | Purpose |
|---|---|---|
| `Mollie.Api` | `src/Mollie.Api` | Core API client library targeting `netstandard2.0` and `net8.0` |
| `Mollie.Api.AspNet` | `src/Mollie.Api.AspNet` | ASP.NET-specific webhook helpers |
Tests live under `tests/` and samples under `samples/Mollie.WebApplication.Blazor`.
---
## Solution Structure
```
src/
Mollie.Api/
Client/ # One concrete client class per Mollie API resource
Client/Abstract/ # One interface per client
Models/ # Request and response record types, grouped by resource
JsonConverters/ # Custom System.Text.Json converters
Framework/ # Auth, idempotency, retry policies, JSON service
Extensions/ # Extension methods (IEnumerable, Dictionary helpers)
Options/ # MollieOptions, MollieClientOptions
DependencyInjection.cs
Mollie.Api.AspNet/
Webhooks/ # Model binders and signature filter
tests/
Mollie.Tests.Unit/
Client/ # One test class per client
Models/ # Serialisation/deserialisation tests
Framework/
Mollie.Tests.Integration/
samples/
Mollie.WebApplication.Blazor/
```
---
## Key Conventions
### Language & Target
- **C# 12** (`LangVersion` is set to `12`). Use modern language features such as `required` members, primary constructors, collection expressions, and `record` types where appropriate.
- The library targets **`netstandard2.0`** (via PolySharp for back-fill) and **`net8.0`**.
- Nullable reference types are **enabled** (`<Nullable>enable</Nullable>`). Always annotate nullability correctly.
### Naming
| Artifact | Convention | Example |
|---|---|---|
| Client interface | `I{Resource}Client` | `IPaymentClient` |
| Client class | `{Resource}Client` | `PaymentClient` |
| Request model | `{Resource}Request` | `PaymentRequest` |
| Update request | `{Resource}UpdateRequest` | `PaymentUpdateRequest` |
| Response model | `{Resource}Response` | `PaymentResponse` |
| List response | `ListResponse<{Resource}Response>` | `ListResponse<PaymentResponse>` |
| Test class | `{Resource}ClientTests` | `PaymentClientTests` |
### Client Pattern
Every API resource follows this pattern:
1. **Interface** in `Client/Abstract/I{Resource}Client.cs` — inherits `IBaseMollieClient`, all public methods documented with XML `<summary>` / `<param>` / `<returns>` comments.
2. **Implementation** in `Client/{Resource}Client.cs` — inherits `BaseMollieClient`, implements the interface.
3. **Two constructors** on every concrete client:
- `(string apiKey, HttpClient? httpClient = null)` — for manual instantiation.
- `[ActivatorUtilitiesConstructor] (MollieClientOptions options, IMollieSecretManager mollieSecretManager, HttpClient? httpClient = null)` — used by DI.
4. **Register** the new client pair in `DependencyInjection.cs` via `RegisterMollieApiClient<IFooClient, FooClient>`.
```csharp
// Typical method signature
public async Task<FooResponse> GetFooAsync(
string fooId,
bool testmode = false,
CancellationToken cancellationToken = default) {
ValidateRequiredUrlParameter(nameof(fooId), fooId);
var queryParameters = BuildQueryParameters(testmode: testmode);
return await GetAsync<FooResponse>(
$"foos/{fooId}{queryParameters.ToQueryString()}",
cancellationToken: cancellationToken).ConfigureAwait(false);
}
```
Key rules:
- Always call `ValidateRequiredUrlParameter` for ID path segments.
- Always call `ValidateApiKeyIsOauthAccesstoken()` when a parameter requires an OAuth token (e.g., `profileId`, `testmode`, `applicationFee`).
- Always pass `cancellationToken` through and call `.ConfigureAwait(false)` on every `await`.
- Use the protected helpers `GetAsync`, `PostAsync`, `PatchAsync`, `DeleteAsync`, `GetListAsync` from `BaseMollieClient` — never call `HttpClient` directly.
- Build query strings using the `BuildQueryParameters` helper and the `ToQueryString()` extension method.
### Model Pattern
- **Request** and **Response** types are `record` types.
- Required fields are annotated with the `required` keyword.
- Optional fields are nullable (`string?`, `DateTime?`, etc.).
- All properties have XML `<summary>` documentation comments.
- Use `[JsonPropertyName("...")]` only when the JSON key differs from the C# property name.
- Use `[JsonConverter(typeof(RawJsonConverter))]` for `Metadata` fields that hold raw JSON.
- JSON is handled by `System.Text.Json` — do **not** add a dependency on `Newtonsoft.Json`.
- Response models that implement `IEntity` expose an `Id` property.
- Embedded resources are placed in a nested `{Resource}EmbeddedResponse` type annotated with `[JsonPropertyName("_embedded")]`.
- HAL-style link objects are placed in a nested `{Resource}ResponseLinks` type annotated with `[JsonPropertyName("_links")]` and typed as `UrlObjectLink<T>`.
### Extensions
Use the dictionary/list extension helpers in `Mollie.Api.Extensions` for building query parameters:
```csharp
result.AddValueIfNotNullOrEmpty("include", someValue);
result.AddValueIfTrue("testmode", testmode);
includeList.AddValueIfTrue("details.qrCode", includeQrCode);
return includeList.ToIncludeParameter();
```
---
## Testing
### Framework & Libraries
| Library | Purpose |
|---|---|
| **xUnit** | Test runner |
| **Shouldly** | Fluent assertions (`value.ShouldBe(...)`) |
| **RichardSzalay.MockHttp** | Mock `HttpClient` responses |
| **Moq** | Mocking dependencies when needed |
### Unit Test Conventions
- Every client class has a corresponding `{Resource}ClientTests` class in `tests/Mollie.Tests.Unit/Client/`.
- All test classes inherit `BaseClientTests` which provides `CreateMockHttpMessageHandler(...)`.
- Follow the **Given / When / Then** (or **Arrange / Act / Assert**) comment pattern within each test.
- Tests are `async Task` with the `[Fact]` or `[Theory]` attribute.
- Never hit real Mollie endpoints in unit tests — use `MockHttpMessageHandler` to return canned JSON.
- Store expected JSON response strings as `private const string` fields in the test class.
- Use `mockHttp.VerifyNoOutstandingExpectation()` to assert all expected HTTP calls were made.
```csharp
[Fact]
public async Task GetFooAsync_WithValidId_ResponseIsDeserializedCorrectly() {
// Given
const string fooId = "foo_123";
const string jsonResponse = "{ ... }";
var mockHttp = CreateMockHttpMessageHandler(
HttpMethod.Get,
$"{BaseMollieClient.DefaultBaseApiEndPoint}foos/{fooId}",
jsonResponse);
var client = new FooClient("test_api_key", mockHttp.ToHttpClient());
// When
FooResponse result = await client.GetFooAsync(fooId);
// Then
result.Id.ShouldBe(fooId);
mockHttp.VerifyNoOutstandingExpectation();
}
```
---
## Adding a New API Resource
Follow these steps in order:
1. **Response model** — `src/Mollie.Api/Models/{Resource}/Response/{Resource}Response.cs`
2. **Request model** (if applicable) — `src/Mollie.Api/Models/{Resource}/Request/{Resource}Request.cs`
3. **Interface** — `src/Mollie.Api/Client/Abstract/I{Resource}Client.cs`
4. **Implementation** — `src/Mollie.Api/Client/{Resource}Client.cs`
5. **Register in DI** — add `RegisterMollieApiClient<I{Resource}Client, {Resource}Client>` to `DependencyInjection.cs`
6. **Unit tests** — `tests/Mollie.Tests.Unit/Client/{Resource}ClientTests.cs`
7. **Sample page** (optional) — add a Blazor page under `samples/Mollie.WebApplication.Blazor/Pages/{Resource}/`
---
## Authentication
- **API key** authentication: string starting with `live_` or `test_`.
- **OAuth** (access token) authentication: string starting with `access_`.
- The `IMollieSecretManager` abstraction allows custom multi-tenant scenarios.
- `BaseMollieClient.ValidateApiKeyIsOauthAccesstoken()` enforces that OAuth-only parameters are not used with a plain API key.
---
## Error Handling
- HTTP errors are thrown as `MollieApiException` which contains a `MollieErrorMessage` with `Status`, `Title`, and `Detail`.
- Callers should catch `MollieApiException` to handle Mollie-specific API errors.
---
## Idempotency
- Every HTTP request automatically gets a random `Idempotency-Key` header (UUID).
- Callers can supply a custom key via `client.WithIdempotencyKey("my-key")` which returns an `IDisposable` scope.
---
## Style & Formatting
- Braces on the **same line** for namespace, class, and method declarations (Allman is **not** used).
- Indentation: **tabs** (4-space visual width as configured in the IDE).
- Opening braces for single-statement `if`/`foreach` blocks are optional but generally omitted for single-line bodies.
- `var` is used where the type is obvious from the right-hand side.
- `ConfigureAwait(false)` on every `await` inside library code.
- XML documentation on all public members.
================================================
FILE: Directory.Build.props
================================================
<Project>
<PropertyGroup>
<!-- Package identity -->
<Version>4.19.0.0</Version>
<AssemblyVersion>4.19.0.0</AssemblyVersion>
<FileVersion>4.19.0.0</FileVersion>
<PackageVersion>4.19.0.0</PackageVersion>
<Authors>Vincent Kok</Authors>
<Company>Vincent Kok</Company>
<Product>Mollie Payment API</Product>
<PackageTags>Mollie;Payment;Payments;Webhook</PackageTags>
</PropertyGroup>
<PropertyGroup>
<!-- Package metadata & license -->
<PackageProjectUrl>https://github.com/Viincenttt/MollieApi</PackageProjectUrl>
<RepositoryUrl>https://github.com/Viincenttt/MollieApi.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
<PropertyGroup>
<!-- Build & symbols -->
<DebugType>portable</DebugType>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<!-- Suppress warnings for missing XML documentation comments on public members -->
<NoWarn>$(NoWarn);CS1591</NoWarn>
</PropertyGroup>
<PropertyGroup>
<!-- Release strong-name signing; key material should come from CI secrets. -->
<MollieStrongNameKeyFile Condition="'$(MollieStrongNameKeyFile)' == ''">$(MOLLIE_STRONG_NAME_KEY_FILE)</MollieStrongNameKeyFile>
<MollieStrongNamePublicKeyFile Condition="'$(MollieStrongNamePublicKeyFile)' == ''">$(MSBuildThisFileDirectory)mollie.publickey.txt</MollieStrongNamePublicKeyFile>
<MollieStrongNamePublicKey Condition="'$(MollieStrongNamePublicKey)' == '' and Exists('$(MollieStrongNamePublicKeyFile)')">$([System.Text.RegularExpressions.Regex]::Replace($([System.IO.File]::ReadAllText('$(MollieStrongNamePublicKeyFile)')), '[^0-9a-fA-F]', ''))</MollieStrongNamePublicKey>
<MollieStrongNamePublicKey Condition="'$(MollieStrongNamePublicKey)' == ''">$(MOLLIE_STRONG_NAME_PUBLIC_KEY)</MollieStrongNamePublicKey>
<SignAssembly Condition="'$(Configuration)' == 'Release' and '$(MollieStrongNameKeyFile)' != '' and Exists('$(MollieStrongNameKeyFile)')">true</SignAssembly>
<AssemblyOriginatorKeyFile Condition="'$(SignAssembly)' == 'true'">$(MollieStrongNameKeyFile)</AssemblyOriginatorKeyFile>
</PropertyGroup>
</Project>
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023 Vincent Kok
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: MollieApi.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29920.165
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mollie.Api", "src/Mollie.Api\Mollie.Api.csproj", "{DBA9DC3A-D562-4D15-A7FB-B0A1DC3E517B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mollie.Tests.Integration", "tests/Mollie.Tests.Integration\Mollie.Tests.Integration.csproj", "{27DA8118-1976-4B2D-B578-BC3EB91FC39F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mollie.Tests.Unit", "tests/Mollie.Tests.Unit\Mollie.Tests.Unit.csproj", "{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mollie.WebApplication.Blazor", "samples\Mollie.WebApplication.Blazor\Mollie.WebApplication.Blazor.csproj", "{ECE7EA04-09CA-44A4-8CD4-622A4631BF85}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{17397A2E-2BA0-418C-928E-D4E8511A3C67}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{6E02EF59-F625-492C-9950-B8AEF7852D65}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mollie.Api.AspNet", "src\Mollie.Api.AspNet\Mollie.Api.AspNet.csproj", "{8982D24F-AC99-43A1-A429-3BCCC96FA110}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DBA9DC3A-D562-4D15-A7FB-B0A1DC3E517B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DBA9DC3A-D562-4D15-A7FB-B0A1DC3E517B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DBA9DC3A-D562-4D15-A7FB-B0A1DC3E517B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DBA9DC3A-D562-4D15-A7FB-B0A1DC3E517B}.Release|Any CPU.Build.0 = Release|Any CPU
{27DA8118-1976-4B2D-B578-BC3EB91FC39F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27DA8118-1976-4B2D-B578-BC3EB91FC39F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27DA8118-1976-4B2D-B578-BC3EB91FC39F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27DA8118-1976-4B2D-B578-BC3EB91FC39F}.Release|Any CPU.Build.0 = Release|Any CPU
{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41}.Release|Any CPU.Build.0 = Release|Any CPU
{ECE7EA04-09CA-44A4-8CD4-622A4631BF85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECE7EA04-09CA-44A4-8CD4-622A4631BF85}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECE7EA04-09CA-44A4-8CD4-622A4631BF85}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ECE7EA04-09CA-44A4-8CD4-622A4631BF85}.Release|Any CPU.Build.0 = Release|Any CPU
{8982D24F-AC99-43A1-A429-3BCCC96FA110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8982D24F-AC99-43A1-A429-3BCCC96FA110}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8982D24F-AC99-43A1-A429-3BCCC96FA110}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8982D24F-AC99-43A1-A429-3BCCC96FA110}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EA1EE69B-285E-4518-8936-DB1278A71882}
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{27DA8118-1976-4B2D-B578-BC3EB91FC39F} = {17397A2E-2BA0-418C-928E-D4E8511A3C67}
{EA502BEF-EA42-45D0-BCC8-F0C28C7A4C41} = {17397A2E-2BA0-418C-928E-D4E8511A3C67}
{ECE7EA04-09CA-44A4-8CD4-622A4631BF85} = {6E02EF59-F625-492C-9950-B8AEF7852D65}
EndGlobalSection
EndGlobal
================================================
FILE: README.md
================================================
# Mollie Api Client for .NET
[](https://www.nuget.org/packages/Mollie.Api)

[](https://github.com/Viincenttt/MollieApi/stargazers)
[](https://github.com/Viincenttt/MollieApi/graphs/contributors)
[](https://github.com/Viincenttt/MollieApi)
[](https://github.com/Viincenttt/MollieApi/graphs/commit-activity)
[](https://github.com/Viincenttt/MollieApi/issues)
[](https://github.com/Viincenttt/MollieApi/wiki)
Easily integrate the [Mollie payment provider](https://www.mollie.com) into your .NET application.
Full documentation of this library is available on the [Wiki](https://github.com/Viincenttt/MollieApi/wiki) — including usage examples, API references, and integration tips.
Mollie offers excellent [API documentation](https://docs.mollie.com/) that we highly recommend reviewing before using this library. If you encounter any issues or have feature requests, feel free to [open an issue](https://github.com/Viincenttt/MollieApi/issues).
> 💬 **Need help with integration?**
> I’m happy to assist you with your implementation or questions. Feel free to [connect with me on LinkedIn](https://www.linkedin.com/in/vincent-kok-4aa44211/) — I’d love to help!
Have feedback or ideas? Join the [official Mollie Developer Discord](https://discord.gg/Pdy49HxCWZ) or [open an issue](https://github.com/Viincenttt/MollieApi/issues).
---
## 📚 Table of Contents
- [Sponsor This Project](#-sponsor-this-project)
- [Full documentation](#-full-documentation)
- [Getting Started](#-getting-started)
- [Dependency Injection](#dependency-injection)
- [Manual Instantiation](#manual-instantiation)
- [Create a Payment in under a minute](#-create-a-payment-in-under-a-minute)
- [Example Project (Blazor)](#-blazor-example-project)
- [Supported APIs](#-supported-apis)
- [Contributions](#-contributions)
- [Supported .NET Versions](#-supported-net-versions)
---
## 💖 Sponsor This Project
This project is proudly sponsored by Mollie — thank you for supporting open source and developer tooling!
If this library has helped you or saved you time, please consider [sponsoring me on GitHub](https://github.com/sponsors/Viincenttt) as well.
Your support helps me keep improving the library and providing integration help to the community!
---
## 📖 Full Documentation
Looking for the full API docs, usage examples, and advanced guides?
👉 **Check out the full Wiki here:**
➡️ [https://github.com/Viincenttt/MollieApi/wiki](https://github.com/Viincenttt/MollieApi/wiki)
You'll find:
- Getting started walkthroughs
- All supported APIs and code samples
- Best practices for integration
---
## 🛠 Getting started
Install via NuGet:
```bash
Install-Package Mollie.Api
```
### Dependency Injection
You can register all API client interfaces using the built-in DI extension:
```csharp
builder.Services.AddMollieApi(options => {
options.ApiKey = builder.Configuration["Mollie:ApiKey"];
options.RetryPolicy = MollieHttpRetryPolicies.TransientHttpErrorRetryPolicy();
});
```
Each API (e.g. payments, customers, mandates) has its own dedicated API client class and interface:
* `IPaymentClient`, `PaymentClient`
* `ICustomerClient`, `CustomerClient`
* `ISubscriptionClient`, `SubscriptionClient`
* `IMandateClient`, `MandateClient`
* ... and more
After registering via DI, inject the interface you need in your services or controllers.
### Manual Instantiation
If you prefer not to use DI, you can manually instantiate a client:
``` csharp
using IPaymentClient paymentClient = new PaymentClient("{yourApiKey}", new HttpClient());
```
If you do not provide a HttpClient, one will be created automatically — in that case, remember to dispose the client properly.
### 🚀 Create a Payment in under a minute
Here’s a quick example of how to create an **iDEAL** payment for €100:
```csharp
using IPaymentClient paymentClient = new PaymentClient("{yourApiKey}", new HttpClient());
var paymentRequest = new PaymentRequest {
Amount = new Amount(Currency.EUR, 100.00m),
Description = "The .NET library makes creating payments so easy!",
RedirectUrl = "https://github.com/Viincenttt/MollieApi",
Method = PaymentMethod.Ideal
};
PaymentResponse paymentResponse = await paymentClient.CreatePaymentAsync(paymentRequest);
// Redirect your user to the checkout URL
string checkoutUrl = paymentResponse.Links.Checkout.Href;
```
### Webhooks
Mollie offers two different webhook systems:
- [Classic Webhooks](https://docs.mollie.com/reference/webhooks)
- [Next-gen Webhooks (beta)](https://docs.mollie.com/reference/webhooks-new)
Both systems are supported through the Mollie.Api.AspNet NuGet package included in this library.
Install via NuGet:
```bash
Install-Package Mollie.Api.AspNet
```
The Mollie.Api.AspNet NuGet package has built in attributes that automatically parse and validate incoming objects in your ASP.NET application. For example:
```C#
[HttpPost("full/specific")]
[ServiceFilter(typeof(MollieSignatureFilter))]
public Task<ActionResult> WebhookWithSpecificType([FromMollieWebhook] FullWebhookEventResponse<PaymentLinkResponse> data) {
return Task.FromResult<ActionResult>(Ok());
}
```
For more information about webhooks, take a look at the [full webhook documentation](https://github.com/Viincenttt/MollieApi/wiki/01.-Getting-started#webhooks) on the Wiki page.
### 🧪 Blazor Example Project
Want to see the library in action? Check out the full-featured .NET Blazor example project, which demonstrates real-world usage of several APIs:
* Payments
* Payment links
* Orders
* Customers
* Mandates
* Subscriptions
* Payment Methods
* Terminals
* Webhooks
🔗 [View the Example Project on GitHub](https://github.com/Viincenttt/MollieApi/tree/development/samples/Mollie.WebApplication.Blazor)
> It’s a great starting point if you’re new to Mollie or want to explore advanced scenarios like multi-step checkouts or managing recurring payments.
---
## 📦 Supported API's
This library currently supports the following API's:
- [Payment API](https://github.com/Viincenttt/MollieApi/wiki/02.-Payment-API)
- [PaymentMethod API](https://github.com/Viincenttt/MollieApi/wiki/03.-Payment-method-API)
- [PaymentLink API](https://github.com/Viincenttt/MollieApi/wiki/14.-Payment-link-Api)
- [Customer API](https://github.com/Viincenttt/MollieApi/wiki/05.-Customer-API)
- [Mandate API](https://github.com/Viincenttt/MollieApi/wiki/06.-Mandate-API)
- [Subscription API](https://github.com/Viincenttt/MollieApi/wiki/07.-Subscription-API)
- [Refund API](https://github.com/Viincenttt/MollieApi/wiki/04.-Refund-API)
- [Connect API](https://github.com/Viincenttt/MollieApi/wiki/10.-Connect-Api)
- Chargeback API (documentation coming soon)
- Invoice API (documentation coming soon)
- Permissions API (documentation coming soon)
- [Profile API](https://github.com/Viincenttt/MollieApi/wiki/11.-Profile-Api)
- [Organizations API](https://github.com/Viincenttt/MollieApi/wiki/09.-Organization-API)
- [Order API](https://github.com/Viincenttt/MollieApi/wiki/08.-Order-API)
- [Capture API](https://github.com/Viincenttt/MollieApi/wiki/12.-Captures-API)
- [Onboarding API](https://github.com/Viincenttt/MollieApi/wiki/13.-Onboarding-Api)
- [Balances API](https://github.com/Viincenttt/MollieApi/wiki/15.-Balances-Api)
- Terminal API (documentation coming soon)
- ClientLink API (documentation coming soon)
- Wallet API (documentation coming soon)
- Client API (documentation coming soon)
- Capability API (documentation coming soon)
- [Webhooks API](https://github.com/Viincenttt/MollieApi/wiki/19.-Webhook-Api)
- [WebhooksEvents API](https://github.com/Viincenttt/MollieApi/wiki/20.-Webhook-Api)
- [Balance transfer API](https://github.com/Viincenttt/MollieApi/wiki/21.-Balance-transfer-Api)
---
## 🤝 Contributions
Spotted a bug or want to add a new feature? Contributions are welcome! Please target the latest `development` branch and include a clear description of your changes.
---
## ✅ Supported .NET Versions
This library targets [.NET Standard 2.0](https://docs.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0), making it compatible with a wide range of platforms:
| .NET implementation | Version support |
| ------------- | ------------- |
| .NET and .NET Core | 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 |
| .NET Framework | 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
| Mono | 5.4, 6.4 |
| Universal Windows Platform | 10.0.16299, TBD |
| Xamarin.iOS | 10.14, 12.16 |
| Xamarin.Mac | 3.8, 5.16 |
| Xamarin.Android | 8.0, 10.0 |
| Unity | 2018.1 |
> ⚠️ Note: This library uses the required keyword in some model classes. Your project must target **C# 11 or higher**.
================================================
FILE: mollie.publickey.txt
================================================
002400000480000014020000060200000024000052534131001000000100010015769730260dcfc1911c5d3c54057de5037b99dc84a12ae40ee60b78a7068d46bf356eb20795f859c31dee9603c911573b823aac81d589b4f6bd3f7ad10635d1f7a13c0fb37a679e2ee582408c059fc644c3d49da3023adba8096cfd8921db2c159d0e0ee9b1230cd032ca5366bbb249c0aa9a1843b1769d9732a00e07575c47c525d9a76df3f25c0bd44cdf3a8e98f3618dd9d2d4c332756e7f374cae03e3b1f932e5b2a7cc2042a8b526033b20ffcaa38cbfc29d0c675678d09b2f9edef74767607ebffef5046c3b62e70427754a2fb8790d387dbd0acbba7f587f55716ff50099e9252511eec42260cf39155e1efaea273e5ddcd3051b08c089fbf577cc8c33da86c908d49067cf40f90fbbad68a42dfccc72fec62b43815877c6732e0c7957d044e167bc2848852f8eaa5e1772f735fb9694ab74c9f2ea1fc49de061e3531d6d13dcaad4256f9497cf2e1383d9134d007b058668b1bab9173e146d064a5231eec739a12462a0fbef1a46e2b812a24c6bbc746227bdb390bfed1e0e3d54aecd55ea42249f197664ab20f35a597b53a7f0dc82b03f8ac1be78cab67830a67e30bb514e426355f172d9d56f02bf6d6c4c61cbc650dcbcff74ee129e56ecfdae9bdfd544f55aaee2eb7971b959990f5907ccbeeb14c96817b3d9609e7a529c41560a02a42145bf130be56c047f2bef0eee6f47a6ca8e2c863bda70674c2f43a3
================================================
FILE: samples/Mollie.WebApplication.Blazor/App.razor
================================================
<Router AppAssembly="@typeof(App).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)"/>
<FocusOnNavigate RouteData="@routeData" Selector="h1"/>
</Found>
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Framework/StaticStringListBuilder.cs
================================================
using System.Reflection;
namespace Mollie.WebApplication.Blazor.Framework;
public static class StaticStringListBuilder {
public static IEnumerable<string> GetStaticStringList(Type type) {
foreach (FieldInfo fieldInfo in type.GetFields(BindingFlags.Static | BindingFlags.Public)) {
string? value = fieldInfo.GetValue(null)?.ToString();
if (value != null) {
yield return value;
}
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Framework/Validators/DecimalPlacesAttribute.cs
================================================
using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace Mollie.WebApplication.Blazor.Framework.Validators;
public class DecimalPlacesAttribute : ValidationAttribute {
private int _decimalPlaces { get; }
public DecimalPlacesAttribute(int decimalPlaces) {
_decimalPlaces = decimalPlaces;
}
protected override ValidationResult? IsValid(object? value, ValidationContext validationContext) {
if (value == null) {
return new ValidationResult("Value is null");
}
decimal amount = (decimal)value;
string text = amount.ToString(CultureInfo.InvariantCulture);
int dotIndex = text.IndexOf('.');
var decimals = text.Length - dotIndex - 1;
var places = _decimalPlaces switch
{
0 => "without decimal places",
1 => "with one decimal place",
_ => $"with {_decimalPlaces} decimal places"
};
return dotIndex < 0 || dotIndex != text.LastIndexOf('.') || decimals != _decimalPlaces
? new ValidationResult(ErrorMessage ?? $"Please enter an amount {places}")
: ValidationResult.Success;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Framework/Validators/StaticStringListAttribute.cs
================================================
using System.ComponentModel.DataAnnotations;
using System.Reflection;
namespace Mollie.WebApplication.Blazor.Framework.Validators;
public class StaticStringListAttribute : ValidationAttribute {
private readonly Type _staticClass;
public StaticStringListAttribute(Type staticClass) {
_staticClass = staticClass;
}
protected override ValidationResult? IsValid(object? value, ValidationContext validationContext) {
IEnumerable<string?> validValues = _staticClass
.GetFields(BindingFlags.Static | BindingFlags.Public)
.Select(x => x.GetValue(null)?.ToString());
if (validValues.Contains(value)) {
return ValidationResult.Success;
}
return new ValidationResult($"The value \"{value}\" is invalid");
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Customer/CreateCustomerModel.cs
================================================
using System.ComponentModel.DataAnnotations;
namespace Mollie.WebApplication.Blazor.Models.Customer;
public class CreateCustomerModel {
[Required]
public required string Name { get; set; }
[EmailAddress]
public required string Email { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Mandate/CreateMandateModel.cs
================================================
using System.ComponentModel.DataAnnotations;
namespace Mollie.WebApplication.Blazor.Models.Mandate;
public class CreateMandateModel {
[Required]
public required string ConsumerName { get; set; }
[Required]
public required string ConsumerAccount { get; set; }
[Required]
public required string ConsumerBic { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderBillingAddressModel.cs
================================================
using System.ComponentModel.DataAnnotations;
namespace Mollie.WebApplication.Blazor.Models.Order;
public class CreateOrderBillingAddressModel {
[Required]
public required string GivenName { get; set; }
[Required]
public required string FamilyName { get; set; }
[Required]
[EmailAddress]
public required string Email { get; set; }
[Required]
public required string StreetAndNumber { get; set; }
[Required]
public required string City { get; set; }
[Required]
[MaxLength(2)]
public required string Country { get; set; }
[Required]
public required string PostalCode { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderLineModel.cs
================================================
using System.ComponentModel.DataAnnotations;
using Mollie.WebApplication.Blazor.Framework.Validators;
namespace Mollie.WebApplication.Blazor.Models.Order;
public class CreateOrderLineModel {
[Required]
public string Name { get; set; } = string.Empty;
[Required]
[Range(1, 100, ErrorMessage = "Please enter a quantity between 0.01 and 1000")]
public int Quantity { get; set; }
[Required]
[Range(0.01, 10000, ErrorMessage = "Please enter a unit price between 0.01 and 10000")]
[DecimalPlaces(2)]
public decimal UnitPrice { get; set; }
public decimal TotalAmount { get; set; }
[Range(0.01, 100, ErrorMessage = "Please enter a vat rate between 0.01 and 100")]
[DecimalPlaces(2)]
public decimal VatRate { get; set; }
public decimal VatAmount { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderModel.cs
================================================
using System.ComponentModel.DataAnnotations;
using Mollie.Api.Models;
using Mollie.WebApplication.Blazor.Framework.Validators;
namespace Mollie.WebApplication.Blazor.Models.Order;
public class CreateOrderModel {
[Required]
public string? OrderNumber { get; set; }
[Required]
public string? Locale { get; set; }
[Required]
public decimal? Amount { get; set; }
[Required]
[StaticStringList(typeof(Currency))]
public required string Currency { get; set; }
[Required]
[Url]
public required string RedirectUrl { get; set; }
public List<CreateOrderLineModel>? Lines { get; set; } = new();
public required CreateOrderBillingAddressModel BillingAddress { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Payment/CreatePaymentModel.cs
================================================
using System.ComponentModel.DataAnnotations;
using Mollie.Api.Models;
using Mollie.WebApplication.Blazor.Framework.Validators;
namespace Mollie.WebApplication.Blazor.Models.Payment;
public class CreatePaymentModel {
[Required]
[Range(0.01, 1000, ErrorMessage = "Please enter an amount between 0.01 and 1000")]
[DecimalPlaces(2)]
public required decimal Amount { get; set; }
[Required]
[StaticStringList(typeof(Currency))]
public required string Currency { get; set; }
[Required]
[Url]
public required string RedirectUrl { get; set; }
[Url]
public string? WebhookUrl { get; set; }
[Required]
public required string Description { get; set; }
[Required]
public required string SequenceType { get; set; }
public string? CustomerId { get; set; }
public string? MandateId { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/PaymentLink/CreatePaymentModel.cs
================================================
using System.ComponentModel.DataAnnotations;
using Mollie.Api.Models;
using Mollie.WebApplication.Blazor.Framework.Validators;
namespace Mollie.WebApplication.Blazor.Models.PaymentLink;
public class CreatePaymentLinkModel {
[Required]
[Range(0.01, 1000, ErrorMessage = "Please enter an amount between 0.01 and 1000")]
[DecimalPlaces(2)]
public required decimal Amount { get; set; }
[Required]
[StaticStringList(typeof(Currency))]
public required string Currency { get; set; }
[Required]
[Url]
public required string RedirectUrl { get; set; }
[Url]
public string? WebhookUrl { get; set; }
[Required]
public required string Description { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Subscription/CreateSubscriptionModel.cs
================================================
using System.ComponentModel.DataAnnotations;
using Mollie.Api.Models;
using Mollie.WebApplication.Blazor.Framework.Validators;
namespace Mollie.WebApplication.Blazor.Models.Subscription;
public class CreateSubscriptionModel {
[Required]
[Range(0.01, 1000, ErrorMessage = "Please enter an amount between 0.01 and 1000")]
[DecimalPlaces(2)]
public required decimal Amount { get; set; }
[Required]
[StaticStringList(typeof(Currency))]
public required string Currency { get; set; }
[Range(1, 10)]
public int? Times { get; set; }
[Range(1, 20, ErrorMessage = "Please enter a interval number between 1 and 20")]
[Required]
[Display(Name = "Interval amount")]
public int? IntervalAmount { get; set; }
[Required]
[Display(Name = "Interval period")]
public required IntervalPeriod IntervalPeriod { get; set; }
[Required]
public required string Description { get; set; }
public string? MandateId { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Subscription/IntervalPeriod.cs
================================================
namespace Mollie.WebApplication.Blazor.Models.Subscription;
public enum IntervalPeriod {
Months,
Weeks,
Days
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Models/Webhook/CreateWebhookModel.cs
================================================
using System.ComponentModel.DataAnnotations;
namespace Mollie.WebApplication.Blazor.Models.Webhook;
public class CreateWebhookModel {
[Required]
public required string Name { get; set; }
[Required]
[Url]
public required string Url { get; set; }
public required List<string> EventTypes { get; set; } = new();
public bool Testmode { get; set; } = true;
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Mollie.WebApplication.Blazor.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>51758f49-d7ec-4044-8cd9-95cf49d0f3cf</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Mollie.Api.AspNet\Mollie.Api.AspNet.csproj" />
<ProjectReference Include="..\..\src\Mollie.Api\Mollie.Api.csproj" />
</ItemGroup>
</Project>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Customer/Create.razor
================================================
@page "/customer/create"
@using Mollie.WebApplication.Blazor.Models.Customer
@using Mollie.Api.Client
@using Mollie.Api.Models.Customer.Request
@inject ICustomerClient CustomerClient
@inject NavigationManager NavigationManager
<h3>Create new customer</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_customer" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="name">Name</label>
<InputText
id="name"
class="form-control"
@bind-Value="_customer.Name">
</InputText>
</div>
<div class="form-group">
<label for="email">E-mail</label>
<InputText
id="email"
class="form-control"
@bind-Value="_customer.Email">
</InputText>
</div>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
private CreateCustomerModel _customer = new() {
Name = "Customer name",
Email = "customer@customer.customer"
};
private async Task OnSave() {
try {
_apiException = null;
await CustomerClient.CreateCustomerAsync(new CustomerRequest() {
Name = _customer.Name,
Email = _customer.Email
});
NavigationManager.NavigateTo("/customer/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Customer/Overview.razor
================================================
@page "/customer/overview"
@using Mollie.Api.Models.Customer.Response
@using Mollie.Api.Models.List.Response
@inject ICustomerClient CustomerClient
<h3>Customers</h3>
@if (_customers == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/customer/create" class="btn btn-primary float-right">Create new customer</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Name</th>
<th scope="col">Email</th>
<th scope="col">Locale</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (CustomerResponse customer in _customers.Items) {
<tr>
<td>@customer.Id</td>
<td>@customer.CreatedAt</td>
<td>@customer.Name</td>
<td><a href="mailto:@customer.Email">@customer.Email</a></td>
<td>@customer.Locale</td>
<td>
<a href="/customer/@customer.Id/mandate/overview" class="btn btn-outline-secondary">View mandates</a>
<a href="/customer/@customer.Id/subscription/overview" class="btn btn-outline-secondary">View subscriptions</a>
</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_customers.Links.Previous"
Next="_customers.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<CustomerResponse>? _customers;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_customers = await CustomerClient.GetCustomerListAsync();
}
else {
_customers = await CustomerClient.GetCustomerListAsync(new UrlObjectLink<ListResponse<CustomerResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Error.cshtml
================================================
@page
@model Mollie.WebApplication.Blazor.Pages.ErrorModel
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Error</title>
<link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet"/>
<link href="~/css/site.css" rel="stylesheet" asp-append-version="true"/>
</head>
<body>
<div class="main">
<div class="content px-4">
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
@if (Model.ShowRequestId) {
<p>
<strong>Request ID:</strong> <code>@Model.RequestId</code>
</p>
}
<h3>Development Mode</h3>
<p>
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
</p>
<p>
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
and restarting the app.
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Error.cshtml.cs
================================================
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace Mollie.WebApplication.Blazor.Pages;
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
[IgnoreAntiforgeryToken]
public class ErrorModel : PageModel {
public string? RequestId { get; set; }
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
public void OnGet() {
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Index.razor
================================================
@page "/"
<PageTitle>Mollie Example Project</PageTitle>
<section class="jumbotron text-center">
<div class="container">
<h1 class="jumbotron-heading">Mollie API Demo application</h1>
<p class="lead text-muted">
Welcome to the Mollie API demo application. This is a sample application that demonstrates how to create payments, customers, subscriptions and much more.
</p>
<p>
<a href="/payment/create" class="btn btn-primary my-2">Create new payment</a>
<a href="/order/create" class="btn btn-primary my-2">Create new order</a>
</p>
</div>
</section>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Mandate/Create.razor
================================================
@page "/customer/{customerId}/mandate/create"
@using Mollie.WebApplication.Blazor.Models.Mandate
@using Mollie.Api.Client
@using Mollie.Api.Models.Mandate.Request
@using Mollie.Api.Models.Mandate.Request.PaymentSpecificParameters
@inject IMandateClient MandateClient
@inject NavigationManager NavigationManager
<h3>Create new mandate</h3>
<div class="alert alert-info">
<p>
A mandate is used to get started with recurring payments. A mandate is similar to a regular payment, but the customer is shown information about your organization,
and the customer needs to complete the payment with the account or card that will be used for recurring charges in the future.
</p>
<p>
After the first payment is completed succesfully, the customer’s account or card will immediately be chargeable on-demand, or periodically through subscriptions.
</p>
</div>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_mandate" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="consumer-name">Consumer name</label>
<InputText
id="consumer-name"
class="form-control"
@bind-Value="_mandate.ConsumerName">
</InputText>
</div>
<div class="form-group">
<label for="consumer-account">Consumer account</label>
<InputText
id="consumer-account"
class="form-control"
@bind-Value="_mandate.ConsumerAccount">
</InputText>
</div>
<div class="form-group">
<label for="consumer-bic">Consumer BIC</label>
<InputText
id="consumer-bic"
class="form-control"
@bind-Value="_mandate.ConsumerBic">
</InputText>
</div>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
[Parameter]
public required string CustomerId { get; set; }
private CreateMandateModel _mandate = new() {
ConsumerName = "Consumer name",
ConsumerAccount = string.Empty,
ConsumerBic = string.Empty
};
private async Task OnSave() {
try {
_apiException = null;
await MandateClient.CreateMandateAsync(CustomerId, new SepaDirectDebitMandateRequest {
Method = PaymentMethod.DirectDebit,
ConsumerName = _mandate.ConsumerName,
ConsumerAccount = _mandate.ConsumerAccount,
ConsumerBic = _mandate.ConsumerBic
});
NavigationManager.NavigateTo($"/customer/{CustomerId}/mandate/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Mandate/Overview.razor
================================================
@page "/customer/{customerId}/mandate/overview"
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.Mandate.Response
@inject IMandateClient MandateClient
<h3>Mandates</h3>
@if (_mandates == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/customer/@CustomerId/mandate/create" class="btn btn-primary float-right">Create new mandate</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Status</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (MandateResponse mandate in _mandates.Items) {
<tr>
<td>@mandate.Id</td>
<td>@mandate.CreatedAt</td>
<td>@mandate.Status</td>
<td> </td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_mandates.Links.Previous"
Next="_mandates.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
public required string CustomerId { get; set; }
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<MandateResponse>? _mandates;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_mandates = await MandateClient.GetMandateListAsync(CustomerId);
}
else {
_mandates = await MandateClient.GetMandateListAsync(new UrlObjectLink<ListResponse<MandateResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Order/Components/OrderAddressEditor.razor
================================================
@using Mollie.WebApplication.Blazor.Models.Order
<div class="form-group">
<label for="given-name">Given name</label>
<InputText
id="given-name"
class="form-control"
@bind-Value="Address.GivenName">
</InputText>
</div>
<div class="form-group">
<label for="family-name">Family name</label>
<InputText
id="family-name"
class="form-control"
@bind-Value="Address.FamilyName">
</InputText>
</div>
<div class="form-group">
<label for="email">E-mail</label>
<InputText
id="email"
class="form-control"
@bind-Value="Address.Email">
</InputText>
</div>
<div class="form-group">
<label for="street-and-number">Street and number</label>
<InputText
id="street-and-number"
class="form-control"
@bind-Value="Address.StreetAndNumber">
</InputText>
</div>
<div class="form-group">
<label for="postal-code">Postal code</label>
<InputText
id="postal-code"
class="form-control"
@bind-Value="Address.PostalCode">
</InputText>
</div>
<div class="form-group">
<label for="city">City</label>
<InputText
id="city"
class="form-control"
@bind-Value="Address.City">
</InputText>
</div>
<div class="form-group">
<label for="country">Country</label>
<InputText
id="country"
class="form-control"
maxlength="2"
@bind-Value="Address.Country">
</InputText>
</div>
@code {
[Parameter, EditorRequired]
public required CreateOrderBillingAddressModel Address { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Order/Components/OrderLineEditor.razor
================================================
@using Mollie.WebApplication.Blazor.Models.Order
<EditForm Model="_newOrderLineModel" OnValidSubmit="@OnAddOrderLine">
<DataAnnotationsValidator />
<ValidationSummary />
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Quantity</th>
<th scope="col">Unit price</th>
<th scope="col">Total amount</th>
<th scope="col">Vat rate</th>
<th scope="col">Vat amount</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (CreateOrderLineModel orderLine in OrderLines) {
<tr>
<td>@orderLine.Name</td>
<td>@orderLine.Quantity</td>
<td>€ @orderLine.UnitPrice</td>
<td>€ @orderLine.TotalAmount</td>
<td>@orderLine.VatRate %</td>
<td>€ @orderLine.VatAmount</td>
<td>
<button
class="btn btn-outline-secondary"
type="button"
@onclick="() => OnRemoveOrderLine(orderLine)">
Remove
</button>
</td>
</tr>
}
<tr>
<td>
<InputText
id="new-order-line-name"
class="form-control"
placeholder="Name"
@bind-Value="_newOrderLineModel.Name">
</InputText>
</td>
<td>
<InputNumber
id="new-order-line-quantity"
class="form-control"
placeholder="quantity"
@bind-Value="_newOrderLineModel.Quantity">
</InputNumber>
</td>
<td>
<InputNumber
id="new-order-line-unit-price"
class="form-control"
placeholder="Unit price"
@bind-Value="_newOrderLineModel.UnitPrice">
</InputNumber>
</td>
<td></td>
<td>
<InputNumber
id="new-order-line-vat-rate"
class="form-control"
placeholder="Vat rate"
@bind-Value="_newOrderLineModel.VatRate">
</InputNumber>
</td>
<td></td>
<td>
<button name="add-order-line" class="btn btn-outline-secondary" type="submit">Add</button>
</td>
</tr>
</tbody>
</table>
</EditForm>
@code {
[Parameter, EditorRequired]
public required IList<CreateOrderLineModel> OrderLines { get; set; }
private CreateOrderLineModel _newOrderLineModel = new ();
private void OnAddOrderLine() {
decimal totalAmount = _newOrderLineModel.Quantity * _newOrderLineModel.UnitPrice;
decimal vatAmount = (_newOrderLineModel.VatRate / (100 + _newOrderLineModel.VatRate)) * totalAmount;
_newOrderLineModel.VatAmount = Math.Round(vatAmount, 2);
_newOrderLineModel.TotalAmount = totalAmount;
OrderLines.Add(_newOrderLineModel);
_newOrderLineModel = new CreateOrderLineModel();
}
private void OnRemoveOrderLine(CreateOrderLineModel orderLine) {
OrderLines.Remove(orderLine);
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Order/Create.razor
================================================
@page "/order/create"
@using Mollie.WebApplication.Blazor.Pages.Order.Components
@using Mollie.WebApplication.Blazor.Models.Order
@using System.Globalization
@using Mollie.Api.Client
@using Mollie.Api.Models.Order.Request
@inject IOrderClient OrderClient
@inject NavigationManager NavigationManager
<h3>Create new order</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_order" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="order-number">Order number</label>
<InputText
id="order-number"
class="form-control"
@bind-Value="_order.OrderNumber">
</InputText>
</div>
<div class="form-group">
<label for="locale">Locale</label>
<InputSelect
id="locale"
class="form-control"
@bind-Value="_order.Locale">
@foreach (string locale in StaticStringListBuilder.GetStaticStringList(typeof(Locale))) {
<option value="@locale">@locale</option>
}
</InputSelect>
</div>
<div class="form-group">
<label for="currency">Currency</label>
<InputSelect
id="currency"
class="form-control"
@bind-Value="_order.Currency">
@foreach (string currency in StaticStringListBuilder.GetStaticStringList(typeof(Currency))) {
<option value="@currency">@currency</option>
}
</InputSelect>
</div>
<div class="form-group">
<label for="redirect-url">Redirect url</label>
<InputText
id="redirect-url"
class="form-control"
@bind-Value="_order.RedirectUrl">
</InputText>
</div>
<h5 class="mt-3">Billing address</h5>
<OrderAddressEditor Address="_order.BillingAddress"></OrderAddressEditor>
<h5 class="mt-3">Order lines</h5>
<OrderLineEditor OrderLines="_order.Lines"></OrderLineEditor>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
private readonly CreateOrderModel _order = new() {
OrderNumber = "Order number",
Locale = Locale.nl_NL,
Amount = 100m,
Currency = "EUR",
RedirectUrl = "https://www.mollie.com/",
Lines = new List<CreateOrderLineModel> {
new() {
Name = "Chocolates",
UnitPrice = 100.00m,
Quantity = 1,
TotalAmount = 100.00m,
VatRate = 21.00m,
VatAmount = 17.36m
}
},
BillingAddress = new CreateOrderBillingAddressModel {
City = "Amsterdam",
Country = "NL",
Email = "customer@customer.customer",
FamilyName = "Mollie",
GivenName = "Mollie",
PostalCode = "1015 CW",
StreetAndNumber = "Keizersgracht 126"
}
};
private async Task OnSave() {
try {
_apiException = null;
await OrderClient.CreateOrderAsync(new OrderRequest {
OrderNumber = _order.OrderNumber!,
Locale = _order.Locale!,
Amount = new Amount(_order.Currency, _order.Lines!.Sum(lines => lines.TotalAmount)),
RedirectUrl = _order.RedirectUrl,
BillingAddress = new OrderAddressDetails {
GivenName = _order.BillingAddress.GivenName,
FamilyName = _order.BillingAddress.FamilyName,
Email = _order.BillingAddress.Email,
StreetAndNumber = _order.BillingAddress.StreetAndNumber,
PostalCode = _order.BillingAddress.PostalCode,
City = _order.BillingAddress.City,
Country = _order.BillingAddress.Country
},
Lines = _order.Lines!.Select(line => new OrderLineRequest {
Name = line.Name,
Quantity = line.Quantity,
UnitPrice = new Amount(_order.Currency, line.UnitPrice),
TotalAmount = new Amount(_order.Currency, line.TotalAmount),
VatRate = line.VatRate.ToString(CultureInfo.InvariantCulture),
VatAmount = new Amount(_order.Currency, line.VatAmount)
})
});
NavigationManager.NavigateTo("/order/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Order/Overview.razor
================================================
@page "/order/overview"
@using Mollie.Api.Models.Order.Response
@using Mollie.Api.Models.List.Response
@inject IOrderClient OrderClient
<h3>Orders</h3>
@if (_orders == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/order/create" class="btn btn-primary float-right">Create new order</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Amount</th>
<th scope="col">Status</th>
<th scope="col">Method</th>
<th scope="col">Metadata</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (OrderResponse order in _orders.Items) {
<tr>
<td>@order.Id</td>
<td>@order.CreatedAt</td>
<td>@order.Amount.ToString()</td>
<td>@order.Status</td>
<td>@order.Method</td>
<td>@order.Metadata</td>
<td>
@if (order.Status == OrderStatus.Created && order.Links.Checkout != null) {
<a href="@order.Links.Checkout.Href" class="btn btn-outline-secondary" target="_blank">Pay</a>
}
</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_orders.Links.Previous"
Next="_orders.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<OrderResponse>? _orders;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_orders = await OrderClient.GetOrderListAsync();
}
else {
_orders = await OrderClient.GetOrderListAsync(new UrlObjectLink<ListResponse<OrderResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Payment/Create.razor
================================================
@page "/payment/create"
@using Mollie.Api.Models.Payment.Request
@using Mollie.WebApplication.Blazor.Models.Payment
@using Mollie.Api.Client
@inject IPaymentClient PaymentClient
@inject NavigationManager NavigationManager
<h3>Create new payment</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_model" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="amount">Amount</label>
<InputNumber
id="amount"
class="form-control"
@bind-Value="_model.Amount">
</InputNumber>
</div>
<div class="form-group">
<label for="currency">Currency</label>
<InputSelect
id="currency"
class="form-control"
@bind-Value="_model.Currency">
@foreach (string currency in StaticStringListBuilder.GetStaticStringList(typeof(Currency))) {
<option value="@currency">@currency</option>
}
</InputSelect>
</div>
<div class="form-group">
<label for="redirect-url">Redirect url</label>
<InputText
id="redirect-url"
class="form-control"
@bind-Value="_model.RedirectUrl">
</InputText>
</div>
<div class="form-group">
<label for="webhook-url">Webhook url</label>
<InputText
id="webhook-url"
class="form-control"
@bind-Value="_model.WebhookUrl">
</InputText>
</div>
<div class="form-group">
<label for="description">Description</label>
<InputText
id="description"
class="form-control"
@bind-Value="_model.Description">
</InputText>
</div>
<div class="form-group">
<label for="sequence-type">Sequence type</label>
<InputSelect
id="sequence-type"
class="form-control"
@bind-Value="_model.SequenceType">
@foreach (string sequenceType in StaticStringListBuilder.GetStaticStringList(typeof(SequenceType))) {
<option value="@sequenceType">@sequenceType</option>
}
</InputSelect>
</div>
@if (_model.SequenceType == SequenceType.First || _model.SequenceType == SequenceType.Recurring)
{
<div class="form-group">
<label for="customer">Customer</label>
<InputText
id="customer"
class="form-control"
@bind-Value="_model.CustomerId">
</InputText>
</div>
@if (_model.SequenceType == SequenceType.Recurring)
{
<div class="form-group">
<label for="mandate">Mandate</label>
<InputText
id="mandate"
class="form-control"
@bind-Value="_model.MandateId">
</InputText>
</div>
}
}
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
private CreatePaymentModel _model = new() {
Amount = 10.00m,
Currency = "EUR",
RedirectUrl = "https://www.mollie.com/",
WebhookUrl = null,
Description = "A payment from the example application",
SequenceType = SequenceType.OneOff
};
private async Task OnSave() {
try {
_apiException = null;
await PaymentClient.CreatePaymentAsync(new PaymentRequest {
Amount = new Amount(_model.Currency, _model.Amount),
RedirectUrl = _model.RedirectUrl,
WebhookUrl = _model.WebhookUrl,
Description = _model.Description,
CustomerId = _model.CustomerId,
SequenceType = _model.SequenceType,
MandateId = _model.MandateId
});
NavigationManager.NavigateTo("/payment/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Payment/Overview.razor
================================================
@page "/payment/overview"
@using Mollie.Api.Models.List.Response
@inject IPaymentClient PaymentClient
<h3>Payments</h3>
@if (_payments == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/payment/create" class="btn btn-primary float-right">Create new payment</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Amount</th>
<th scope="col">Status</th>
<th scope="col">Method</th>
<th scope="col">Metadata</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (PaymentResponse payment in _payments.Items) {
<tr>
<td>@payment.Id</td>
<td>@payment.CreatedAt</td>
<td>@payment.Amount.ToString()</td>
<td>@payment.Status</td>
<td>@payment.Method</td>
<td>@payment.Metadata</td>
<td>
@{
string? checkoutUrl = GetCheckoutUrl(payment);
}
@if (checkoutUrl != null)
{
<a href="@checkoutUrl" class="btn btn-outline-secondary" target="_blank">Pay</a>
}
</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_payments.Links.Previous"
Next="_payments.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<PaymentResponse>? _payments;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_payments = await PaymentClient.GetPaymentListAsync();
}
else {
_payments = await PaymentClient.GetPaymentListAsync(new UrlObjectLink<ListResponse<PaymentResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
private string? GetCheckoutUrl(PaymentResponse payment) {
if (payment.Status != PaymentStatus.Open && payment.Status != PaymentStatus.Pending)
{
return null;
}
return payment.Links.Checkout?.Href ?? payment.Links.ChangePaymentState?.Href;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/PaymentLink/Create.razor
================================================
@page "/paymentlink/create"
@using Mollie.Api.Models.PaymentLink.Request
@using Mollie.WebApplication.Blazor.Models.PaymentLink
@using Mollie.Api.Client
@inject IPaymentLinkClient PaymentLinkClient
@inject NavigationManager NavigationManager
<h3>Create new payment link</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_model" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="amount">Amount</label>
<InputNumber
id="amount"
class="form-control"
@bind-Value="_model.Amount">
</InputNumber>
</div>
<div class="form-group">
<label for="currency">Currency</label>
<InputSelect
id="currency"
class="form-control"
@bind-Value="_model.Currency">
@foreach (string currency in StaticStringListBuilder.GetStaticStringList(typeof(Currency))) {
<option value="@currency">@currency</option>
}
</InputSelect>
</div>
<div class="form-group">
<label for="redirect-url">Redirect url</label>
<InputText
id="redirect-url"
class="form-control"
@bind-Value="_model.RedirectUrl">
</InputText>
</div>
<div class="form-group">
<label for="redirect-url">Webhook url</label>
<InputText
id="redirect-url"
class="form-control"
@bind-Value="_model.WebhookUrl">
</InputText>
</div>
<div class="form-group">
<label for="description">Description</label>
<InputText
id="description"
class="form-control"
@bind-Value="_model.Description">
</InputText>
</div>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
private CreatePaymentLinkModel _model = new() {
Amount = 10.00m,
Currency = "EUR",
RedirectUrl = "https://www.mollie.com/",
WebhookUrl = null,
Description = "A payment link from the example application"
};
private async Task OnSave() {
try {
_apiException = null;
await PaymentLinkClient.CreatePaymentLinkAsync(new PaymentLinkRequest {
Amount = new Amount(_model.Currency, _model.Amount),
RedirectUrl = _model.RedirectUrl,
WebhookUrl = _model.WebhookUrl,
Description = _model.Description
});
NavigationManager.NavigateTo("/paymentlink/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/PaymentLink/Overview.razor
================================================
@page "/paymentlink/overview"
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.PaymentLink.Response
@inject IPaymentLinkClient PaymentClient
<h3>Payment Links</h3>
@if (_paymentLinks == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/paymentlink/create" class="btn btn-primary float-right">Create new payment link</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Amount</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (PaymentLinkResponse paymentLink in _paymentLinks.Items) {
<tr>
<td>@paymentLink.Id</td>
<td>@paymentLink.CreatedAt</td>
<td>@paymentLink.Amount?.ToString() ?? @paymentLink.MinimumAmount?.ToString()</td>
<td>
<a href="@paymentLink.Links.PaymentLink.Href" class="btn btn-outline-secondary" target="_blank">Pay</a>
</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_paymentLinks.Links.Previous"
Next="_paymentLinks.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<PaymentLinkResponse>? _paymentLinks;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_paymentLinks = await PaymentClient.GetPaymentLinkListAsync();
}
else {
_paymentLinks = await PaymentClient.GetPaymentLinkListAsync(new UrlObjectLink<ListResponse<PaymentLinkResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/PaymentMethod/Overview.razor
================================================
@page "/payment-method/overview"
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.PaymentMethod.Response
@inject IPaymentMethodClient PaymentMethodClient
<h3>Payment methods</h3>
@if (_paymentMethods == null) {
<p>Loading...</p>
}
else {
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Description</th>
<th scope="col">Size1x</th>
<th scope="col">Size2x</th>
<th scope="col">Svg</th>
</tr>
</thead>
<tbody>
@foreach (PaymentMethodResponse paymentMethod in _paymentMethods.Items) {
<tr>
<td>@paymentMethod.Description</td>
<td><img src="@paymentMethod.Image.Size1x" alt="@paymentMethod.Description" /></td>
<td><img src="@paymentMethod.Image.Size2x" alt="@paymentMethod.Description" /></td>
<td><img src="@paymentMethod.Image.Svg" alt="@paymentMethod.Description" /></td>
</tr>
}
</tbody>
</table>
}
@code {
private ListResponse<PaymentMethodResponse>? _paymentMethods;
protected override async Task OnInitializedAsync() {
_paymentMethods = await PaymentMethodClient.GetPaymentMethodListAsync();
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Subscription/Create.razor
================================================
@page "/customer/{customerId}/subscription/create"
@using Mollie.WebApplication.Blazor.Models.Subscription
@using Mollie.Api.Client
@using Mollie.Api.Models.Subscription.Request
@inject ISubscriptionClient SubscriptionClient
@inject NavigationManager NavigationManager
<h3>Create new subscription</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_model" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="description">Description</label>
<InputText
id="description"
class="form-control"
@bind-Value="_model.Description">
</InputText>
</div>
<div class="form-group">
<label for="mandate-id">Mandate id</label>
<InputText
id="mandate-id"
class="form-control"
@bind-Value="_model.MandateId">
</InputText>
</div>
<div class="form-group">
<label for="amount">Amount</label>
<InputNumber
id="amount"
class="form-control"
@bind-Value="_model.Amount">
</InputNumber>
</div>
<div class="form-group">
<label for="currency">Currency</label>
<InputSelect
id="currency"
class="form-control"
@bind-Value="_model.Currency">
@foreach (string currency in StaticStringListBuilder.GetStaticStringList(typeof(Currency))) {
<option value="@currency">@currency</option>
}
</InputSelect>
</div>
<div class="form-group">
<label for="times">Times</label>
<InputNumber
id="times"
class="form-control"
@bind-Value="_model.Times">
</InputNumber>
</div>
<div class="form-group">
<label for="interval-amount">Interval amount</label>
<InputNumber
id="interval-amount"
class="form-control"
@bind-Value="_model.IntervalAmount">
</InputNumber>
</div>
<div class="form-group">
<label for="interval-period">Interval period</label>
<InputSelect
id="interval-period"
class="form-control"
@bind-Value="_model.IntervalPeriod">
@foreach (string intervalPeriod in Enum.GetNames(typeof(IntervalPeriod))) {
<option value="@intervalPeriod">@intervalPeriod</option>
}
</InputSelect>
</div>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
[Parameter]
public required string CustomerId { get; set; }
private CreateSubscriptionModel _model = new() {
Amount = 10.00m,
Currency = Currency.EUR,
IntervalPeriod = IntervalPeriod.Days,
Times = 5,
IntervalAmount = 2,
Description = "A subscription created by the example application",
};
private async Task OnSave() {
try {
_apiException = null;
await SubscriptionClient.CreateSubscriptionAsync(CustomerId, new SubscriptionRequest {
Amount = new Amount(_model.Currency, _model.Amount),
Interval = $"{_model.IntervalAmount} {_model.IntervalPeriod.ToString().ToLower()}",
Times = _model.Times,
Description = _model.Description,
MandateId = _model.MandateId
});
NavigationManager.NavigateTo($"/customer/{CustomerId}/subscription/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Subscription/Overview.razor
================================================
@page "/customer/{customerId}/subscription/overview"
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.Subscription.Response
@inject ISubscriptionClient SubscriptionClient
<h3>Subscriptions</h3>
@if (_subscriptions == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/customer/@CustomerId/subscription/create" class="btn btn-primary float-right">Create new subscription</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Description</th>
<th scope="col">MandateId</th>
<th scope="col">Date created</th>
<th scope="col">Amount</th>
<th scope="col">Mode</th>
<th scope="col">Status</th>
</tr>
</thead>
<tbody>
@foreach (SubscriptionResponse subscription in _subscriptions.Items) {
<tr>
<td>@subscription.Id</td>
<td>@subscription.Description</td>
<td>@subscription.MandateId</td>
<td>@subscription.CreatedAt</td>
<td>@subscription.Amount.ToString()</td>
<td>@subscription.Mode</td>
<td>@subscription.Status</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_subscriptions.Links.Previous"
Next="_subscriptions.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
public required string CustomerId { get; set; }
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<SubscriptionResponse>? _subscriptions;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_subscriptions = await SubscriptionClient.GetSubscriptionListAsync(CustomerId);
}
else {
_subscriptions = await SubscriptionClient.GetSubscriptionListAsync(new UrlObjectLink<ListResponse<SubscriptionResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Terminal/Overview.razor
================================================
@page "/terminal/overview"
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.Terminal.Response
@inject ITerminalClient TerminalClient
<h3>Terminals</h3>
@if (_terminals == null) {
<p>Loading...</p>
}
else {
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Date created</th>
<th scope="col">Status</th>
<th scope="col">Brand</th>
<th scope="col">Model</th>
<th scope="col">Serialnumber</th>
<th scope="col">Currency</th>
</tr>
</thead>
<tbody>
@foreach (TerminalResponse terminal in _terminals.Items) {
<tr>
<td>@terminal.Id</td>
<td>@terminal.CreatedAt</td>
<td>@terminal.Status</td>
<td>@terminal.Brand</td>
<td>@terminal.Model</td>
<td>@terminal.SerialNumber</td>
<td>@terminal.Currency</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_terminals.Links.Previous"
Next="_terminals.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<TerminalResponse>? _terminals;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_terminals = await TerminalClient.GetTerminalListAsync();
}
else {
_terminals = await TerminalClient.GetTerminalListAsync(new UrlObjectLink<ListResponse<TerminalResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Webhook/Components/EventTypeEditor.razor
================================================
@using Mollie.Api.Models.Webhook
<EditForm Model="EventTypes" OnValidSubmit="@OnAddEventType">
<DataAnnotationsValidator />
<ValidationSummary />
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Event</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (string eventType in EventTypes) {
<tr>
<td>@eventType</td>
<td>
<button
class="btn btn-outline-secondary"
type="button"
@onclick="() => OnRemoveEventType(eventType)">
Remove
</button>
</td>
</tr>
}
<tr>
<td>
<InputSelect
id="event-types"
class="form-control"
@bind-Value="_selectedEventType">
@foreach (string eventType in StaticStringListBuilder.GetStaticStringList(typeof(WebhookEventTypes))) {
<option value="@eventType">@eventType</option>
}
</InputSelect>
</td>
<td>
<button name="add-event-type" class="btn btn-outline-secondary" type="submit">Add</button>
</td>
</tr>
</tbody>
</table>
</EditForm>
@code {
[Parameter, EditorRequired]
public required IList<string> EventTypes { get; set; }
private string? _selectedEventType = WebhookEventTypes.PaymentLinkPaid;
private void OnAddEventType() {
if (_selectedEventType == null)
{
return;
}
if (EventTypes.Any(x => x == _selectedEventType))
{
return;
}
EventTypes.Add(_selectedEventType);
}
private void OnRemoveEventType(string eventType)
{
EventTypes.Remove(eventType);
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Webhook/Create.razor
================================================
@page "/webhook/create"
@using Mollie.WebApplication.Blazor.Models.Webhook
@using Mollie.Api.Models.Webhook.Request
@using Mollie.Api.Models.Webhook
@using Mollie.Api.Client
@using Mollie.WebApplication.Blazor.Pages.Webhook.Components
@inject IWebhookClient WebhookClient
@inject NavigationManager NavigationManager
<h3>Create new webhook</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
<EditForm Model="_model" OnValidSubmit="@OnSave" class="col-md-6">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="name">Name</label>
<InputText
id="name"
class="form-control"
@bind-Value="_model.Name">
</InputText>
</div>
<div class="form-group">
<label for="url">Url</label>
<InputText
id="url"
class="form-control"
@bind-Value="_model.Url">
</InputText>
</div>
<EventTypeEditor EventTypes="_model.EventTypes"></EventTypeEditor>
<div class="form-group">
<InputCheckbox
id="test-mode"
@bind-Value="_model.Testmode">
</InputCheckbox>
<label for="test-mode">Test mode</label>
</div>
<input type="submit" name="Save" value="Save" class="btn btn-primary mt-2"/>
</EditForm>
@code {
private MollieApiException? _apiException;
private CreateWebhookModel _model = new() {
Name = "Test webhook",
Url = "https://example.com/webhook",
EventTypes = [WebhookEventTypes.PaymentLinkPaid],
Testmode = true
};
private async Task OnSave() {
try {
_apiException = null;
await WebhookClient.CreateWebhookAsync(new WebhookRequest {
Name = _model.Name,
Url = _model.Url,
EventTypes = _model.EventTypes,
Testmode = _model.Testmode
});
NavigationManager.NavigateTo("/webhook/overview");
}
catch (MollieApiException e) {
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/Webhook/Overview.razor
================================================
@page "/webhook/overview"
@using Mollie.Api.Client
@using Mollie.Api.Models.List.Response
@using Mollie.Api.Models.Webhook.Response
@inject IWebhookClient WebhookClient
<h3>Webhooks</h3>
<ApiExceptionDisplay Exception="_apiException"></ApiExceptionDisplay>
@if (_webhooks == null) {
<p>Loading...</p>
}
else {
<div class="clearfix">
<a href="/webhook/create" class="btn btn-primary float-right">Create new webhook</a>
</div>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Date created</th>
<th scope="col">Status</th>
<th scope="col">Event types</th>
<th scope="col">Url</th>
<th scope="col">Actions</th>
</tr>
</thead>
<tbody>
@foreach (WebhookResponse webhook in _webhooks.Items) {
<tr>
<td>@webhook.Id</td>
<td>@webhook.Name</td>
<td>@webhook.CreatedAt</td>
<td>@webhook.Status</td>
<td>
@foreach(string eventType in webhook.EventTypes) {
<span class="badge bg-secondary">@eventType</span>
}
</td>
<td>@webhook.Url</td>
<td>
<button
class="btn btn-outline-secondary"
@onclick="@(async () => await TestWebhook(webhook.Id))">
Test webhook
</button>
<button
class="btn btn-outline-danger"
@onclick="@(async () => await DeleteWebhook(webhook.Id))">
Delete webhook
</button>
</td>
</tr>
}
</tbody>
</table>
<OverviewNavigation
Previous="_webhooks.Links.Previous"
Next="_webhooks.Links.Next">
</OverviewNavigation>
}
@code {
[Parameter]
[SupplyParameterFromQuery]
public string? Url { get; set; }
private ListResponse<WebhookResponse>? _webhooks;
private MollieApiException? _apiException;
protected override async Task OnParametersSetAsync() {
await LoadData();
}
private async Task LoadData() {
if (string.IsNullOrEmpty(Url)) {
_webhooks = await WebhookClient.GetWebhookListAsync(testmode: true);
}
else {
_webhooks = await WebhookClient.GetWebhookListAsync(new UrlObjectLink<ListResponse<WebhookResponse>>() {
Href = Url,
Type = "application/json"
});
}
}
private async Task TestWebhook(string webhookId)
{
try
{
await WebhookClient.TestWebhookAsync(webhookId, testmode: true);
}
catch (MollieApiException e)
{
_apiException = e;
}
}
private async Task DeleteWebhook(string webhookId)
{
try
{
await WebhookClient.DeleteWebhookAsync(webhookId, testmode: true);
await LoadData();
}
catch (MollieApiException e)
{
_apiException = e;
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Pages/_Host.cshtml
================================================
@page "/"
@using Microsoft.AspNetCore.Components.Web
@namespace Mollie.WebApplication.Blazor.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<base href="~/"/>
<link rel="stylesheet" href="css/bootstrap/bootstrap.min.css"/>
<link href="css/site.css" rel="stylesheet"/>
<link href="Mollie.WebApplication.Blazor.styles.css" rel="stylesheet"/>
<link rel="icon" type="image/png" href="favicon.png"/>
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered"/>
</head>
<body>
<component type="typeof(App)" render-mode="ServerPrerendered"/>
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.server.js"></script>
</body>
</html>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Program.cs
================================================
using Mollie.Api;
using Mollie.Api.AspNet;
using Mollie.Api.Framework;
using Mollie.WebApplication.Blazor.Webhooks.Nextgen.MinimalApi;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddMollieApi(options => {
options.ApiKey = builder.Configuration["Mollie:ApiKey"]!;
options.RetryPolicy = MollieHttpRetryPolicies.TransientHttpErrorRetryPolicy();
});
builder.Services.AddMollieWebhook(options => {
options.Secret = builder.Configuration["Mollie:WebhookSecret"]!;
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment()) {
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapControllers();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
WebhookHandler.RegisterEndpoints(app);
app.Run();
================================================
FILE: samples/Mollie.WebApplication.Blazor/Properties/launchSettings.json
================================================
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:46697",
"sslPort": 44312
}
},
"profiles": {
"Watch": {
"commandName": "Executable",
"workingDirectory": "$(ProjectDir)",
"executablePath": "dotnet.exe",
"commandLineArgs": "watch run debug --launch-profile https"
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7212;http://localhost:5088",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/ApiExceptionDisplay.razor
================================================
@using Mollie.Api.Client
@if (Exception != null) {
<div class="alert alert-danger" role="alert">
A Mollie API exception has occured: StatusCode=@Exception.Details.Status Title=@Exception.Details.Title Detail=@Exception.Details.Detail
</div>
}
@code {
[Parameter, EditorRequired]
public MollieApiException? Exception { get; set; }
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/MainLayout.razor
================================================
@inherits LayoutComponentBase
<PageTitle>Mollie.WebApplication.Blazor</PageTitle>
<div class="page">
<div class="sidebar">
<NavMenu/>
</div>
<main>
<article class="content px-4">
@Body
</article>
</main>
</div>
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/MainLayout.razor.css
================================================
.page {
position: relative;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth) {
display: none;
}
.top-row.auth {
justify-content: space-between;
}
.top-row a, .top-row .btn-link {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/NavMenu.razor
================================================
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="">Mollie Example App</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass nav-scrollable" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="payment/overview">
<span class="oi oi-euro" aria-hidden="true"></span> Payments
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="paymentlink/overview">
<span class="oi oi-link-intact" aria-hidden="true"></span> Payment Links
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="order/overview">
<span class="oi oi-cart" aria-hidden="true"></span> Orders
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="payment-method/overview">
<span class="oi oi-list" aria-hidden="true"></span> Payment methods
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="customer/overview">
<span class="oi oi-person" aria-hidden="true"></span> Customers
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="terminal/overview">
<span class="oi oi-phone" aria-hidden="true"></span> Terminals
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="webhook/overview">
<span class="oi oi-pulse" aria-hidden="true"></span> Webhooks
</NavLink>
</div>
</nav>
</div>
@code {
private bool _collapseNavMenu = true;
private string NavMenuCssClass => _collapseNavMenu ? "collapse" : string.Empty;
private void ToggleNavMenu() {
_collapseNavMenu = !_collapseNavMenu;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/NavMenu.razor.css
================================================
.navbar-toggler {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand {
font-size: 1.1rem;
}
.oi {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type {
padding-top: 1rem;
}
.nav-item:last-of-type {
padding-bottom: 1rem;
}
.nav-item ::deep a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item ::deep a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item ::deep a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler {
display: none;
}
.collapse {
/* Never collapse the sidebar for wide screens */
display: block;
}
.nav-scrollable {
/* Allow sidebar to scroll for tall menus */
height: calc(100vh - 3.5rem);
overflow-y: auto;
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Shared/OverviewNavigation.razor
================================================
@using Mollie.Api.Models.Url
@inject NavigationManager NavManager
@if (Previous != null) {
<a class="btn btn-primary" href="@GetCurrentUrlWithoutQueryParameters?Url=@Previous.Href"><< Previous</a>
}
@if (Next != null) {
<a class="btn btn-primary" href="@GetCurrentUrlWithoutQueryParameters?Url=@Next.Href">Next >></a>
}
@code {
[Parameter, EditorRequired]
public UrlLink? Previous { get; set; }
[Parameter, EditorRequired]
public UrlLink? Next { get; set; }
private string GetCurrentUrlWithoutQueryParameters => NavManager.Uri.Split('?')[0];
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Classic/PaymentController.cs
================================================
using Microsoft.AspNetCore.Mvc;
using Mollie.Api.Client.Abstract;
using Mollie.Api.Models.Payment.Response;
namespace Mollie.WebApplication.Blazor.Webhooks.Classic;
[ApiController]
[Route("api/webhook/classic/controllers")]
public class PaymentController : ControllerBase {
private readonly ILogger<PaymentController> _logger;
private readonly IPaymentClient _paymentClient;
public PaymentController(ILogger<PaymentController> logger, IPaymentClient paymentClient) {
_logger = logger;
_paymentClient = paymentClient;
}
[HttpPost]
public async Task<ActionResult> Webhook([FromForm] string id) {
PaymentResponse payment = await _paymentClient.GetPaymentAsync(id);
_logger.LogInformation("Webhook called for PaymentId={PaymentId}, PaymentStatus={Status}",
id,
payment.Status);
return Ok();
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/Controllers/PaymentLinkController.cs
================================================
using Microsoft.AspNetCore.Mvc;
using Mollie.Api.AspNet.Webhooks.Authorization;
using Mollie.Api.AspNet.Webhooks.ModelBinding;
using Mollie.Api.Models.PaymentLink.Response;
using Mollie.Api.Models.WebhookEvent.Response;
namespace Mollie.WebApplication.Blazor.Webhooks.Nextgen.Controllers;
[ApiController]
[Route("api/webhook/nextgen/controllers")]
public class PaymentLinkController : ControllerBase {
// Example of full webhook event with specific data entity type, such as PaymentLinkResponse
[HttpPost("full/specific")]
[ServiceFilter(typeof(MollieSignatureFilter))]
public Task<ActionResult> WebhookWithSpecificType([FromMollieWebhook] FullWebhookEventResponse<PaymentLinkResponse> data) {
return Task.FromResult<ActionResult>(Ok());
}
// Example of full webhook event with generic data entity type
[HttpPost("full/generic")]
[ServiceFilter(typeof(MollieSignatureFilter))]
public Task<ActionResult> WebhookWithGenericType([FromMollieWebhook] FullWebhookEventResponse data) {
return Task.FromResult<ActionResult>(Ok());
}
// Example of a simple webhook event response, that does not include the entity data
[HttpPost("simple")]
[ServiceFilter(typeof(MollieSignatureFilter))]
public Task<ActionResult> WebhookWithGenericType([FromMollieWebhook] SimpleWebhookEventResponse data) {
return Task.FromResult<ActionResult>(Ok());
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/MinimalApi/WebhookHandler.cs
================================================
using Mollie.Api.AspNet.Webhooks.Authorization;
using Mollie.Api.AspNet.Webhooks.ModelBinding;
using Mollie.Api.Models.PaymentLink.Response;
using Mollie.Api.Models.WebhookEvent.Response;
namespace Mollie.WebApplication.Blazor.Webhooks.Nextgen.MinimalApi;
public static class WebhookHandler {
public static void RegisterEndpoints(IEndpointRouteBuilder app) {
// Example of full webhook event with specific data entity type, such as PaymentLinkResponse
app
.MapPost("api/webhook/nextgen/minimalapi/full/specific",
(MollieModelBinder<FullWebhookEventResponse<PaymentLinkResponse>> data) => {
if (data.Model == null) {
return Results.BadRequest();
}
return Results.Ok();
})
.AddEndpointFilter<MollieSignatureEndpointFilter>();
// Example of full webhook event with generic data entity type
app
.MapPost("api/webhook/nextgen/minimalapi/full/generic",
(MollieModelBinder<FullWebhookEventResponse> data) => {
if (data.Model == null) {
return Results.BadRequest();
}
return Results.Ok();
})
.AddEndpointFilter<MollieSignatureEndpointFilter>();
// Example of a simple webhook event response, that does not include the entity data
app
.MapPost("api/webhook/nextgen/minimalapi/simple",
(MollieModelBinder<SimpleWebhookEventResponse> data) => Results.Ok())
.AddEndpointFilter<MollieSignatureEndpointFilter>();
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/_Imports.razor
================================================
@using System.Net.Http
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using Mollie.WebApplication.Blazor
@using Mollie.WebApplication.Blazor.Shared
@using Mollie.WebApplication.Blazor.Framework
@using Mollie.Api.Client.Abstract
@using Mollie.Api.Models.List
@using Mollie.Api.Models.Url
@using Mollie.Api.Models
@using Mollie.Api.Models.Payment
@using Mollie.Api.Models.Payment.Response
@using Mollie.Api.Models.Customer;
@using Mollie.Api.Models.Subscription;
@using Mollie.Api.Models.Mandate;
@using Mollie.Api.Models.PaymentMethod;
@using Mollie.Api.Models.Order;
@using Mollie.Api.Models.Terminal;
================================================
FILE: samples/Mollie.WebApplication.Blazor/appsettings.Development.json
================================================
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/appsettings.json
================================================
{
"Mollie": {
"ApiKey": "<Enter your API key here>",
"WebhookSecret": "<Your next-gen webhook secret here>"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
================================================
FILE: samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/FONT-LICENSE
================================================
SIL OPEN FONT LICENSE Version 1.1
Copyright (c) 2014 Waybury
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
================================================
FILE: samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/ICON-LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2014 Waybury
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/README.md
================================================
[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
===========
### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
## What's in Open Iconic?
* 223 icons designed to be legible down to 8 pixels
* Super-light SVG files - 61.8 for the entire set
* SVG sprite—the modern replacement for icon fonts
* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
## Getting Started
#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
### General Usage
#### Using Open Iconic's SVGs
We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
```
<img src="/open-iconic/svg/icon-name.svg" alt="icon name">
```
#### Using Open Iconic's SVG Sprite
Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `<svg>` *tag and a unique class name for each different icon in the* `<use>` *tag.*
```
<svg class="icon">
<use xlink:href="open-iconic.svg#account-login" class="icon-account-login"></use>
</svg>
```
Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `<svg>` tag with equal width and height dimensions.
```
.icon {
width: 16px;
height: 16px;
}
```
Coloring icons is even easier. All you need to do is set the `fill` rule on the `<use>` tag.
```
.icon-account-login {
fill: #f00;
}
```
To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
#### Using Open Iconic's Icon Font...
##### …with Bootstrap
You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
```
<link href="/open-iconic/font/css/open-iconic-bootstrap.css" rel="stylesheet">
```
```
<span class="oi oi-icon-name" title="icon name" aria-hidden="true"></span>
```
##### …with Foundation
You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
```
<link href="/open-iconic/font/css/open-iconic-foundation.css" rel="stylesheet">
```
```
<span class="fi-icon-name" title="icon name" aria-hidden="true"></span>
```
##### …on its own
You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
```
<link href="/open-iconic/font/css/open-iconic.css" rel="stylesheet">
```
```
<span class="oi" data-glyph="icon-name" title="icon name" aria-hidden="true"></span>
```
## License
### Icons
All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
### Fonts
All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
================================================
FILE: samples/Mollie.WebApplication.Blazor/wwwroot/css/site.css
================================================
@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
h1:focus {
outline: none;
}
a, .btn-link {
color: #0071c1;
}
.btn-primary {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}
.content {
padding-top: 1.1rem;
}
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
outline: 1px solid red;
}
.validation-message {
color: red;
}
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}
.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
color: white;
}
.blazor-error-boundary::after {
content: "An error has occurred."
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IBalanceClient.cs
================================================
using System;
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Balance.Response;
using Mollie.Api.Models.Balance.Response.BalanceReport;
using Mollie.Api.Models.Balance.Response.BalanceTransaction;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IBalanceClient : IBaseMollieClient {
/// <summary>
/// Retrieve a single balance object by its balance identifier.
/// </summary>
/// <param name="balanceId">The balance identifier to retrieve</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<BalanceResponse> GetBalanceAsync(string balanceId, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single balance object using an URL
/// </summary>
/// <param name="url">The URL of the balance object</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<BalanceResponse> GetBalanceAsync(UrlObjectLink<BalanceResponse> url, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve the primary balance. This is the balance of your account’s primary currency, where all payments are
/// settled to by default.
/// </summary>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<BalanceResponse> GetPrimaryBalanceAsync(CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all the organization’s balances, including the primary balance, ordered from newest to oldest.
/// </summary>
/// <param name="from">Offset the result set to the balance with this ID. The balance with this ID is included
/// in the result set as well.</param>
/// <param name="limit">The number of balances to return (with a maximum of 250).</param>
/// <param name="currency">Currency filter that will make it so only balances in given currency are returned.
/// For example EUR.</param>
/// <param name="cancellationToken">Optional cancellation token</param>
/// <returns></returns>
Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
string? from = null, int? limit = null, string? currency = null, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all the organization’s balances by URL
/// </summary>
/// <param name="url">The URL of the balance objects</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
UrlObjectLink<ListResponse<BalanceResponse>> url, CancellationToken cancellationToken = default);
/// <summary>
/// With the Get balance report endpoint you can retrieve a summarized report for all movements on a given
/// balance within a given timeframe.
/// </summary>
/// <param name="balanceId">The balance id for which to retrieve a report</param>
/// <param name="from">he 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: 2020-01-01 will include movements of
/// 2020-01-01 0:00:00 CET and onwards.</param>
/// <param name="until">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: 2020-02-01 will include movements up
/// until 2020-01-31 23:59:59 CET.</param>
/// <param name="grouping">You can retrieve reports in two different formats: status-balances and
/// transaction-categories</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<BalanceReportResponse> GetBalanceReportAsync(
string balanceId, DateTime from, DateTime until, string? grouping = null, CancellationToken cancellationToken = default);
/// <summary>
/// With the Get primary balance report endpoint you can retrieve a summarized report for all movements on your
/// primary balance within a given timeframe.
/// </summary>
/// <param name="from">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: 2020-01-01 will include movements of
/// 2020-01-01 0:00:00 CET and onwards.</param>
/// <param name="until">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: 2020-02-01 will include movements up
/// until 2020-01-31 23:59:59 CET.</param>
/// <param name="grouping">You can retrieve reports in two different formats: status-balances and
/// transaction-categories</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<BalanceReportResponse> GetPrimaryBalanceReportAsync(
DateTime from, DateTime until, string? grouping = null, CancellationToken cancellationToken = default);
/// <summary>
/// With the List balance transactions endpoint you can retrieve a list of all the movements on your balance.
/// This includes payments, refunds, chargebacks, and settlements.
/// </summary>
/// <param name="balanceId">The balance id for which to retrieve a report</param>
/// <param name="from">Offset the result set to the balance transactions with this ID. The balance transaction
/// with this ID is included in the result set as well.</param>
/// <param name="limit">The number of balance transactions to return (with a maximum of 250).</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<ListResponse<BalanceTransactionResponse>> GetBalanceTransactionListAsync(
string balanceId, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
/// <summary>
/// With the List primary balance transactions endpoint you can retrieve a list of all the movements on your
/// primary balance. This includes payments, refunds, chargebacks, and settlements.
/// </summary>
/// <param name="from">Offset the result set to the balance transactions with this ID. The balance transaction
/// with this ID is included in the result set as well.</param>
/// <param name="limit">The number of balance transactions to return (with a maximum of 250).</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<ListResponse<BalanceTransactionResponse>> GetPrimaryBalanceTransactionListAsync(
string? from = null, int? limit = null, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a list of balance transactions by URL
/// </summary>
/// <param name="url">The URL from which to retrieve the balance transactions</param>
/// <param name="cancellationToken">Optional cancellation token</param>
Task<ListResponse<BalanceTransactionResponse>> GetBalanceTransactionListAsync(
UrlObjectLink<ListResponse<BalanceTransactionResponse>> url, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IBalanceTransferClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models;
using Mollie.Api.Models.BalanceTransfer.Request;
using Mollie.Api.Models.BalanceTransfer.Response;
using Mollie.Api.Models.List.Response;
namespace Mollie.Api.Client.Abstract;
public interface IBalanceTransferClient {
/// <summary>
/// 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.
/// </summary>
Task<BalanceTransferResponse> CreateBalanceTransferAsync(
BalanceTransferRequest request, CancellationToken cancellationToken = default);
/// <summary>
/// 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.
/// </summary>
Task<ListResponse<BalanceTransferResponse>> GetBalanceTransferListAsync(
string? from = null, int? limit = null, SortDirection? sort = null, bool testmode = false, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single Connect balance transfer object by its ID.
/// </summary>
Task<BalanceTransferResponse> GetBalanceTransferAsync(
string balanceTransferId, bool testmode = false, CancellationToken cancellationToken = default);
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IBaseMollieClient.cs
================================================
using System;
namespace Mollie.Api.Client.Abstract
{
public interface IBaseMollieClient : IDisposable
{
IDisposable WithIdempotencyKey(string value);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ICapabilityClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Capability.Response;
using Mollie.Api.Models.List.Response;
namespace Mollie.Api.Client.Abstract;
public interface ICapabilityClient {
Task<ListResponse<CapabilityResponse>> GetCapabilitiesListAsync(CancellationToken cancellationToken = default);
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ICaptureClient.cs
================================================
using System.Threading.Tasks;
using Mollie.Api.Models.Capture.Request;
using Mollie.Api.Models.Capture.Response;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Url;
using System.Threading;
namespace Mollie.Api.Client.Abstract {
public interface ICaptureClient : IBaseMollieClient {
Task<CaptureResponse> GetCaptureAsync(string paymentId, string captureId, bool testmode = false, CancellationToken cancellationToken = default);
Task<CaptureResponse> GetCaptureAsync(UrlObjectLink<CaptureResponse> url, CancellationToken cancellationToken = default);
Task<ListResponse<CaptureResponse>> GetCaptureListAsync(string paymentId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<CaptureResponse>> GetCaptureListAsync(UrlObjectLink<ListResponse<CaptureResponse>> url, CancellationToken cancellationToken = default);
Task<CaptureResponse> CreateCapture(string paymentId, CaptureRequest captureRequest, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IChargebackClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Chargeback.Response;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IChargebackClient : IBaseMollieClient {
Task<ChargebackResponse> GetChargebackAsync(string paymentId, string chargebackId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(string paymentId, string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(string? profileId = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(UrlObjectLink<ListResponse<ChargebackResponse>> url, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IClientClient.cs
================================================
using System.Threading.Tasks;
using Mollie.Api.Models.Client.Response;
using Mollie.Api.Models.List.Response;
using System.Threading;
namespace Mollie.Api.Client.Abstract {
public interface IClientClient : IBaseMollieClient
{
Task<ClientResponse> GetClientAsync(
string clientId, bool embedOrganization = false, bool embedOnboarding = false, bool embedCapabilities = false, CancellationToken cancellationToken = default);
Task<ListResponse<ClientResponse>> GetClientListAsync(
string? from = null, int? limit = null, bool embedOrganization = false, bool embedOnboarding = false, bool embedCapabilities = false, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IClientLinkClient.cs
================================================
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.ClientLink.Request;
using Mollie.Api.Models.ClientLink.Response;
namespace Mollie.Api.Client.Abstract {
public interface IClientLinkClient {
Task<ClientLinkResponse> CreateClientLinkAsync(ClientLinkRequest request, CancellationToken cancellationToken = default);
string GenerateClientLinkWithParameters(
string clientLinkUrl,
string state,
List<string> scopes,
bool forceApprovalPrompt = false);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IConnectClient.cs
================================================
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Connect.Request;
using Mollie.Api.Models.Connect.Response;
namespace Mollie.Api.Client.Abstract {
public interface IConnectClient : IDisposable
{
/// <summary>
/// Constructs the Authorize URL for the Authorize endpoint from the parameters
/// </summary>
/// <param name="state">A random string generated by your app to prevent CSRF attacks.</param>
/// <param name="scopes">
/// A space separated list of permissions your app requires. Refer to OAuth: Permissions for more
/// information about the available scopes.
/// </param>
/// <param name="redirectUri">
/// The URL the merchant is sent back to once the request has been authorized. If given, it must
/// match the URL you set when registering your app.
/// </param>
/// <param name="forceApprovalPrompt">
/// This parameter can be set to force, to force showing the consent screen to the
/// merchant, even when it is not necessary
/// </param>
/// <param name="locale">
/// Allows you to preset the language to be used in the login / sign up / authorize flow if the merchant is not known by Mollie.
/// When this parameter is omitted, the browser language will be used instead.
/// You can provide any ISO 15897 locale, but the authorize flow currently only supports the following languages:
/// Possible values: en_US nl_NL nl_BE fr_FR fr_BE de_DE es_ES it_IT
/// </param>
/// <param name="landingPage">
/// Allows you to specify if Mollie should show the login or the signup page, when the merchant is not logged in at Mollie.
/// Defaults to the login page. Defaults to login.
/// </param>
/// <returns>The url to the mollie consent screen.</returns>
string GetAuthorizationUrl(
string state,
List<string> scopes,
string? redirectUri = null,
bool forceApprovalPrompt = false,
string? locale = null,
string? landingPage = null);
/// <summary>
/// Exchange the auth code received at the Authorize endpoint for an actual access token, with which you can
/// communicate with the Mollie API. Or Refresh the accestoken
/// </summary>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns>An token object.</returns>
Task<TokenResponse> GetAccessTokenAsync(TokenRequest request, CancellationToken cancellationToken = default);
/// <summary>
/// Revoke an access- or a refresh token. Once revoked the token can not be used anymore.
/// </summary>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task RevokeTokenAsync(RevokeTokenRequest request, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ICustomerClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Customer.Request;
using Mollie.Api.Models.Customer.Response;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Request;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface ICustomerClient : IBaseMollieClient {
Task<CustomerResponse> CreateCustomerAsync(CustomerRequest request, CancellationToken cancellationToken = default);
Task<CustomerResponse> UpdateCustomerAsync(string customerId, CustomerRequest request, CancellationToken cancellationToken = default);
Task DeleteCustomerAsync(string customerId, bool testmode = false, CancellationToken cancellationToken = default);
Task<CustomerResponse> GetCustomerAsync(string customerId, bool testmode = false, CancellationToken cancellationToken = default);
Task<CustomerResponse> GetCustomerAsync(UrlObjectLink<CustomerResponse> url, CancellationToken cancellationToken = default);
Task<ListResponse<CustomerResponse>> GetCustomerListAsync(UrlObjectLink<ListResponse<CustomerResponse>> url, CancellationToken cancellationToken = default);
Task<ListResponse<CustomerResponse>> GetCustomerListAsync(string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<PaymentResponse>> GetCustomerPaymentListAsync(string customerId, string? from = null, int? limit = null, string? profileId = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<PaymentResponse> CreateCustomerPayment(string customerId, PaymentRequest paymentRequest, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IInvoiceClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Invoice.Response;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IInvoiceClient : IBaseMollieClient {
Task<InvoiceResponse> GetInvoiceAsync(string invoiceId, CancellationToken cancellationToken = default);
Task<InvoiceResponse> GetInvoiceAsync(UrlObjectLink<InvoiceResponse> url, CancellationToken cancellationToken = default);
Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(
string? reference = null, int? year = null, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(UrlObjectLink<ListResponse<InvoiceResponse>> url, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IMandateClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Mandate.Request;
using Mollie.Api.Models.Mandate.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IMandateClient : IBaseMollieClient {
Task<MandateResponse> GetMandateAsync(string customerId, string mandateId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<MandateResponse>> GetMandateListAsync(string customerId, string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<MandateResponse> CreateMandateAsync(string customerId, MandateRequest request, CancellationToken cancellationToken = default);
Task<ListResponse<MandateResponse>> GetMandateListAsync(UrlObjectLink<ListResponse<MandateResponse>> url, CancellationToken cancellationToken = default);
Task<MandateResponse> GetMandateAsync(UrlObjectLink<MandateResponse> url, CancellationToken cancellationToken = default);
Task RevokeMandate(string customerId, string mandateId, bool testmode = false, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IOnboardingClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Onboarding.Request;
using Mollie.Api.Models.Onboarding.Response;
namespace Mollie.Api.Client.Abstract {
public interface IOnboardingClient : IBaseMollieClient {
Task<OnboardingStatusResponse> GetOnboardingStatusAsync(CancellationToken cancellationToken = default);
Task SubmitOnboardingDataAsync(SubmitOnboardingDataRequest request, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IOrderClient.cs
================================================
using System;
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Order.Request;
using Mollie.Api.Models.Order.Request.ManageOrderLines;
using Mollie.Api.Models.Order.Response;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
[Obsolete("Mollie no longer recommends using the Orders API. Please refer to the Payments API instead.")]
public interface IOrderClient : IBaseMollieClient {
Task<OrderResponse> CreateOrderAsync(OrderRequest orderRequest, CancellationToken cancellationToken = default);
Task<OrderResponse> GetOrderAsync(
string orderId, bool embedPayments = false, bool embedRefunds = false, bool embedShipments = false, bool testmode = false, CancellationToken cancellationToken = default);
Task<OrderResponse> GetOrderAsync(UrlObjectLink<OrderResponse> url, CancellationToken cancellationToken = default);
Task<OrderResponse> UpdateOrderAsync(string orderId, OrderUpdateRequest orderUpdateRequest, CancellationToken cancellationToken = default);
Task<OrderResponse> UpdateOrderLinesAsync(string orderId, string orderLineId, OrderLineUpdateRequest orderLineUpdateRequest, CancellationToken cancellationToken = default);
Task<OrderResponse> ManageOrderLinesAsync(string orderId, ManageOrderLinesRequest manageOrderLinesRequest, CancellationToken cancellationToken = default);
Task CancelOrderAsync(string orderId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<OrderResponse>> GetOrderListAsync(
string? from = null, int? limit = null, string? profileId = null, bool testmode = false, SortDirection? sort = null, CancellationToken cancellationToken = default);
Task<ListResponse<OrderResponse>> GetOrderListAsync(UrlObjectLink<ListResponse<OrderResponse>> url, CancellationToken cancellationToken = default);
Task CancelOrderLinesAsync(string orderId, OrderLineCancellationRequest cancelationRequest, CancellationToken cancellationToken = default);
Task<PaymentResponse> CreateOrderPaymentAsync(string orderId, OrderPaymentRequest createOrderPaymentRequest, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IOrganizationClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Organization;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IOrganizationClient : IBaseMollieClient {
Task<OrganizationResponse> GetCurrentOrganizationAsync(CancellationToken cancellationToken = default);
Task<OrganizationResponse> GetOrganizationAsync(string organizationId, CancellationToken cancellationToken = default);
Task<ListResponse<OrganizationResponse>> GetOrganizationListAsync(string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<OrganizationResponse>> GetOrganizationListAsync(UrlObjectLink<ListResponse<OrganizationResponse>> url, CancellationToken cancellationToken = default);
Task<OrganizationResponse> GetOrganizationAsync(UrlObjectLink<OrganizationResponse> url, CancellationToken cancellationToken = default);
Task<PartnerResponse> GetPartnerStatusAsync(CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IPaymentClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Request;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IPaymentClient : IBaseMollieClient {
/// <summary>
/// Create a payment object.
/// </summary>
/// <param name="paymentRequest">The payment request object containing the payment details</param>
/// <param name="includeQrCode">Include a QR code object for the payment. Only available for iDEAL, Bancontact and bank transfer payments.</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The payment object created by Mollie. Once the payment is created, redirect the user to Links.Checkout.Redirect</returns>
Task<PaymentResponse> CreatePaymentAsync(
PaymentRequest paymentRequest,
bool includeQrCode = false,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single payment object by its payment identifier.
/// </summary>
/// <param name="paymentId">The payment's ID, for example tr_7UhSN1zuXS.</param>
/// <param name="testmode">Oauth - Optional – Set this to true to get a payment made in test mode. If you omit
/// this parameter, you can only retrieve live mode payments.</param>
/// <param name="includeQrCode">Include a QR code object. Only available for iDEAL, Bancontact and bank transfer
/// payments.</param>
/// <param name="includeRemainderDetails">Include the Payment method-specific response parameters of the
/// ‘remainder payment’ as well. This applies to gift card and voucher payments where only part of the payment
/// was completed with gift cards or vouchers, and the remainder was completed with a regular payment method.
/// </param>
/// <param name="embedRefunds">Include all refunds created for the payment.</param>
/// <param name="embedChargebacks"> Include all chargebacks issued for the payment.</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns></returns>
Task<PaymentResponse> GetPaymentAsync(
string paymentId,
bool testmode = false,
bool includeQrCode = false,
bool includeRemainderDetails = false,
bool embedRefunds = false,
bool embedChargebacks = false,
CancellationToken cancellationToken = default);
/// <summary>
/// Some payment methods are cancellable for an amount of time, usually until the next day. Or as long as the
/// payment status is open. Payments may be cancelled manually from the Dashboard, or automatically by using
/// this endpoint.
/// </summary>
/// <param name="paymentId"></param>
/// <param name="testmode">Oauth - Optional – Set this to true to cancel a test mode payment.</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns></returns>
Task CancelPaymentAsync(
string paymentId,
bool testmode = false,
CancellationToken cancellationToken = default);
/// <summary>
/// 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.
/// </summary>
/// <param name="paymentId">Provide the ID of the related payment.</param>
/// <param name="testmode">Oauth - Optional – Set this to true to release the authorization of a test mode payment.</param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task ReleasePaymentAuthorization(
string paymentId, bool testmode = false, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all payments created with the current payment profile, ordered from newest to oldest.
/// </summary>
/// <param name="from">Used for pagination. Offset the result set to the payment with this ID. The payment with
/// this ID is included in the result set as well.</param>
/// <param name="limit">The number of payments to return (with a maximum of 250).</param>
/// <param name="profileId">The website profile’s unique identifier, for example pfl_3RkSN1zuPE. Omit this
/// parameter to retrieve all payments across all profiles.</param>
/// <param name="testmode">Set this to true to only retrieve payments made in test mode. By default, only live
/// payments are returned.</param>
/// <param name="includeQrCode">Include a QR code object for each payment that supports it. Only available for
/// iDEAL, Bancontact and bank transfer payments.</param>
/// <param name="embedRefunds">Include any refunds created for the payments.</param>
/// <param name="embedChargebacks">Include any chargebacks issued for the payments.</param>
/// <param name="sort">Used for setting the direction of the results based on the from parameter. Can be set
/// to desc or asc. Default is desc.</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns></returns>
Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
string? from = null,
int? limit = null,
string? profileId = null,
bool testmode = false,
bool includeQrCode = false,
bool embedRefunds = false,
bool embedChargebacks = false,
SortDirection? sort = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a list of payments by URL
/// </summary>
/// <param name="url">The URL from which to retrieve the payments</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns>A list of paginated payments</returns>
Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
UrlObjectLink<ListResponse<PaymentResponse>> url,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single payment by URL
/// </summary>
/// <param name="url">The URL from which to retrieve the payment</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns>The found payment</returns>
Task<PaymentResponse> GetPaymentAsync(
UrlObjectLink<PaymentResponse> url,
CancellationToken cancellationToken = default);
/// <summary>
/// This endpoint can be used to update some details of a created payment.
/// </summary>
/// <param name="paymentId">The payment id to update</param>
/// <param name="paymentUpdateRequest">The payment parameters to update</param>
/// <param name="cancellationToken">A cancellation token that can be used to cancel the request.</param>
/// <returns>The changed payment</returns>
/// <remarks>Updating the payment details will not result in a webhook call</remarks>
Task<PaymentResponse> UpdatePaymentAsync(
string paymentId,
PaymentUpdateRequest paymentUpdateRequest,
CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IPaymentLinkClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.PaymentLink.Request;
using Mollie.Api.Models.PaymentLink.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IPaymentLinkClient : IBaseMollieClient {
/// <summary>
/// Create a new payment link
/// </summary>
/// <param name="paymentLinkRequest">The payment link request</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task<PaymentLinkResponse> CreatePaymentLinkAsync(
PaymentLinkRequest paymentLinkRequest,
CancellationToken cancellationToken = default);
/// <summary>
/// Update a payment link
/// </summary>
/// <param name="paymentLinkId">Provide the ID of the item you want to perform this operation on.</param>
/// <param name="paymentLinkUpdateRequest">The request body</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns>The updated payment link response</returns>
Task<PaymentLinkResponse> UpdatePaymentLinkAsync(
string paymentLinkId,
PaymentLinkUpdateRequest paymentLinkUpdateRequest,
CancellationToken cancellationToken = default);
/// <summary>
/// Payment links for which 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.
/// </summary>
/// <param name="paymentLinkId">Provide the ID of the item you want to perform this operation on.</param>
/// <param name="profileId">The website profile’s unique identifier, for example pfl_3RkSN1zuPE.</param>
/// <param name="testmode">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.</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task DeletePaymentLinkAsync(
string paymentLinkId,
string? profileId = null,
bool testmode = false,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single payment link object by its token.
/// </summary>
/// <param name="paymentLinkId">The payment link to retrieve</param>
/// <param name="testmode">Oauth - Optional – Set this to true to get a payment links made in test mode. If you omit
/// this parameter, you can only retrieve live mode payments.</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
Task<PaymentLinkResponse> GetPaymentLinkAsync(
string paymentLinkId,
bool testmode = false,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all payment links created with the current payment link profile, ordered from newest to oldest.
/// </summary>
/// <param name="from">Used for pagination. Offset the result set to the payment link with this ID. The payment
/// link with this ID is included in the result set as well.</param>
/// <param name="limit">The number of payment links to return (with a maximum of 250).</param>
/// <param name="profileId">The website profile’s unique identifier, for example pfl_3RkSN1zuPE. Omit this
/// parameter to retrieve the payment links of all profiles of the current organization.</param>
/// <param name="testmode">Set this to true to only retrieve payment links made in test mode. By default, only
/// live payment links are returned.</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkListAsync(
string? from = null,
int? limit = null,
string? profileId = null,
bool testmode = false,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a list of payment links by URL
/// </summary>
/// <param name="url">The URL from which to retrieve the payment links</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkListAsync(
UrlObjectLink<ListResponse<PaymentLinkResponse>> url,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single payment link by URL
/// </summary>
/// <param name="url">The URL from which to retrieve the payment link</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task<PaymentLinkResponse> GetPaymentLinkAsync(
UrlObjectLink<PaymentLinkResponse> url,
CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve the list of payments for a specific payment link.
/// </summary>
/// <param name="paymentLinkId">Provide the ID of the item you want to perform this operation on.</param>
/// <param name="from">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.</param>
/// <param name="limit">The maximum number of items to return. Defaults to 50 items.</param>
/// <param name="testmode">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.</param>
/// <param name="sort">Used for setting the direction of the result set. Defaults to descending order, meaning
/// the results are ordered from newest to oldest.</param>
/// <param name="cancellationToken">Token to cancel the operation</param>
/// <returns></returns>
Task<ListResponse<PaymentResponse>> GetPaymentLinkPaymentListAsync(
string paymentLinkId,
string? from = null,
int? limit = null,
bool testmode = false,
SortDirection? sort = null,
CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IPaymentMethodClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment;
using Mollie.Api.Models.PaymentMethod.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IPaymentMethodClient : IBaseMollieClient {
Task<PaymentMethodResponse> GetPaymentMethodAsync(
string paymentMethod,
bool includeIssuers = false,
string? locale = null,
string? profileId = null,
bool testmode = false,
string? currency = null,
CancellationToken cancellationToken = default);
Task<ListResponse<PaymentMethodResponse>> GetAllPaymentMethodListAsync(
string? locale = null,
Amount? amount = null,
bool includeIssuers = false,
bool includePricing = false,
string? profileId = null,
bool testmode = false,
CancellationToken cancellationToken = default);
Task<ListResponse<PaymentMethodResponse>> GetPaymentMethodListAsync(
string? sequenceType = null,
string? locale = null,
Amount? amount = null,
bool includeIssuers = false,
string? profileId = null,
bool testmode = false,
Resource? resource = null,
string? billingCountry = null,
string? includeWallets = null,
CancellationToken cancellationToken = default);
Task<PaymentMethodResponse> GetPaymentMethodAsync(UrlObjectLink<PaymentMethodResponse> url,
CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IPermissionClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Permission.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IPermissionClient : IBaseMollieClient {
Task<PermissionResponse> GetPermissionAsync(string permissionId,
CancellationToken cancellationToken = default);
Task<PermissionResponse> GetPermissionAsync(UrlObjectLink<PermissionResponse> url,
CancellationToken cancellationToken = default);
Task<ListResponse<PermissionResponse>> GetPermissionListAsync(
CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IProfileClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.PaymentMethod.Response;
using Mollie.Api.Models.Profile.Request;
using Mollie.Api.Models.Profile.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IProfileClient : IBaseMollieClient {
Task<ProfileResponse> CreateProfileAsync(ProfileRequest request, CancellationToken cancellationToken = default);
Task<ProfileResponse> GetProfileAsync(string profileId, CancellationToken cancellationToken = default);
Task<ProfileResponse> GetProfileAsync(UrlObjectLink<ProfileResponse> url, CancellationToken cancellationToken = default);
Task<ListResponse<ProfileResponse>> GetProfileListAsync(string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<ProfileResponse>> GetProfileListAsync(UrlObjectLink<ListResponse<ProfileResponse>> url, CancellationToken cancellationToken = default);
Task<ProfileResponse> UpdateProfileAsync(string profileId, ProfileRequest request, CancellationToken cancellationToken = default);
Task DeleteProfileAsync(string profileId, CancellationToken cancellationToken = default);
Task<ProfileResponse> GetCurrentProfileAsync(CancellationToken cancellationToken = default);
Task<PaymentMethodResponse> EnablePaymentMethodAsync(string profileId, string paymentMethod, CancellationToken cancellationToken = default);
Task<PaymentMethodResponse> EnablePaymentMethodAsync(string paymentMethod, CancellationToken cancellationToken = default);
Task DisablePaymentMethodAsync(string profileId, string paymentMethod, CancellationToken cancellationToken = default);
Task DisablePaymentMethodAsync(string paymentMethod, CancellationToken cancellationToken = default);
Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAsync(string profileId, string issuer, CancellationToken cancellationToken = default);
Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAsync(string issuer, CancellationToken cancellationToken = default);
Task DisableGiftCardIssuerAsync(string profileId, string issuer, CancellationToken cancellationToken = default);
Task DisableGiftCardIssuerAsync(string issuer, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IRefundClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Order.Request;
using Mollie.Api.Models.Order.Response;
using Mollie.Api.Models.Refund.Request;
using Mollie.Api.Models.Refund.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IRefundClient : IBaseMollieClient {
Task<RefundResponse> CreatePaymentRefundAsync(string paymentId, RefundRequest refundRequest, CancellationToken cancellationToken = default);
Task<RefundResponse> GetPaymentRefundAsync(string paymentId, string refundId, bool testmode = false, CancellationToken cancellationToken = default);
Task CancelPaymentRefundAsync(string paymentId, string refundId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<RefundResponse>> GetPaymentRefundListAsync(string paymentId, string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<OrderRefundResponse> CreateOrderRefundAsync(string orderId, OrderRefundRequest createOrderRefundRequest, CancellationToken cancellationToken = default);
Task<ListResponse<RefundResponse>> GetOrderRefundListAsync(string orderId, string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<RefundResponse>> GetRefundListAsync(UrlObjectLink<ListResponse<RefundResponse>> url, CancellationToken cancellationToken = default);
Task<RefundResponse> GetRefundAsync(UrlObjectLink<RefundResponse> url, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ISalesInvoiceClient.cs
================================================
using System;
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.SalesInvoice.Request;
using Mollie.Api.Models.SalesInvoice.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract;
public interface ISalesInvoiceClient : IDisposable {
Task<SalesInvoiceResponse> CreateSalesInvoiceAsync(
SalesInvoiceRequest salesInvoiceRequest, CancellationToken cancellationToken = default);
Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceListAsync(
string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceListAsync(
UrlObjectLink<ListResponse<SalesInvoiceResponse>> url, CancellationToken cancellationToken = default);
Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
string salesInvoiceId, bool testmode = false, CancellationToken cancellationToken = default);
Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
UrlObjectLink<SalesInvoiceResponse> url, CancellationToken cancellationToken = default);
Task<SalesInvoiceResponse> UpdateSalesInvoiceAsync(
string salesInvoiceId, SalesInvoiceUpdateRequest salesInvoiceRequest, CancellationToken cancellationToken = default);
Task DeleteSalesInvoiceAsync(string salesInvoiceId, bool testmode = false, CancellationToken cancellationToken = default);
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ISessionClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Session.Request;
using Mollie.Api.Models.Session.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface ISessionClient : IBaseMollieClient {
/// <summary>
/// Create a new Session.
/// </summary>
/// <param name="request">The Session request object containing the Session details</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The Session object created by Mollie</returns>
Task<SessionResponse> CreateSessionAsync(SessionRequest request, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single Session by its ID.
/// </summary>
/// <param name="sessionId">The Session ID of the Session to retrieve</param>
/// <param name="testmode">Indicates whether the Session is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The Session object retrieved by Mollie</returns>
Task<SessionResponse> GetSessionAsync(string sessionId, bool testmode = false, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ISettlementClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.Capture.Response;
using Mollie.Api.Models.Chargeback.Response;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Refund.Response;
using Mollie.Api.Models.Settlement.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface ISettlementClient : IBaseMollieClient {
Task<SettlementResponse> GetSettlementAsync(string settlementId, CancellationToken cancellationToken = default);
Task<SettlementResponse> GetNextSettlement(CancellationToken cancellationToken = default);
Task<SettlementResponse> GetOpenSettlement(CancellationToken cancellationToken = default);
Task<ListResponse<SettlementResponse>> GetSettlementListAsync(string? reference = null, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<SettlementResponse>> GetSettlementListAsync(UrlObjectLink<ListResponse<SettlementResponse>> url, CancellationToken cancellationToken = default);
Task<ListResponse<PaymentResponse>> GetSettlementPaymentListAsync(string settlementId, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<PaymentResponse>> GetSettlementPaymentListAsync(UrlObjectLink<ListResponse<PaymentResponse>> url, CancellationToken cancellationToken = default);
Task<ListResponse<RefundResponse>> GetSettlementRefundListAsync(string settlementId, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<RefundResponse>> GetSettlementRefundListAsync(UrlObjectLink<ListResponse<RefundResponse>> url, CancellationToken cancellationToken = default);
Task<ListResponse<ChargebackResponse>> GetSettlementChargebackListAsync(string settlementId, string? from = null, int? limit = null, CancellationToken cancellationToken = default);
Task<ListResponse<ChargebackResponse>> GetSettlementChargebackListAsync(UrlObjectLink<ListResponse<ChargebackResponse>> url, CancellationToken cancellationToken = default);
Task<ListResponse<CaptureResponse>> GetSettlementCaptureListAsync(string settlementId, string? offset = null, int? count = null, CancellationToken cancellationToken = default);
Task<ListResponse<CaptureResponse>> GetSettlementCaptureListAsync(UrlObjectLink<ListResponse<CaptureResponse>> url, CancellationToken cancellationToken = default);
Task<SettlementResponse> GetSettlementAsync(UrlObjectLink<SettlementResponse> url, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/IShipmentClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Shipment.Request;
using Mollie.Api.Models.Shipment.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface IShipmentClient : IBaseMollieClient {
Task<ShipmentResponse> CreateShipmentAsync(string orderId, ShipmentRequest shipmentRequest, CancellationToken cancellationToken = default);
Task<ShipmentResponse> GetShipmentAsync(string orderId, string shipmentId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ShipmentResponse> GetShipmentAsync(UrlObjectLink<ShipmentResponse> url, CancellationToken cancellationToken = default);
Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(string orderId, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(UrlObjectLink<ListResponse<ShipmentResponse>> url, CancellationToken cancellationToken = default);
Task<ShipmentResponse> UpdateShipmentAsync(string orderId, string shipmentId, ShipmentUpdateRequest shipmentUpdateRequest, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ISubscriptionClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Payment.Response;
using Mollie.Api.Models.Subscription.Request;
using Mollie.Api.Models.Subscription.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract {
public interface ISubscriptionClient : IBaseMollieClient {
/// <summary>
/// Cancel an existing subscription. Canceling a subscription has no effect on the mandates of the customer.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="subscriptionId">The subscription ID of the subscription to cancel</param>
/// <param name="testmode">Indicates whether the subscription is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request. Cancelling the token might not cancel the subscription</param>
Task CancelSubscriptionAsync(string customerId, string subscriptionId, bool testmode = false, CancellationToken cancellationToken = default);
/// <summary>
/// Create a new subscription for a customer.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="request">The subscription request object containing the subscription details</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The subscription object created by Mollie</returns>
Task<SubscriptionResponse> CreateSubscriptionAsync(string customerId, SubscriptionRequest request, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve a single subscription by its ID and the ID of its parent customer.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="subscriptionId">The subscription ID of the subscription to retrieve</param>
/// <param name="testmode">Indicates whether the subscription is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The subscription object retrieved by Mollie</returns>
Task<SubscriptionResponse> GetSubscriptionAsync(string customerId, string subscriptionId, bool testmode = false, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all subscriptions of a customer.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="from">The cursor to start pagination from</param>
/// <param name="limit">The maximum number of subscriptions to return</param>
/// <param name="profileId">The profile ID to filter subscriptions by</param>
/// <param name="testmode">Indicates whether the subscription is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>A list of paginated subscriptions</returns>
Task<ListResponse<SubscriptionResponse>> GetSubscriptionListAsync(string customerId, string? from = null, int? limit = null, string? profileId = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<ListResponse<SubscriptionResponse>> GetSubscriptionListAsync(UrlObjectLink<ListResponse<SubscriptionResponse>> url, CancellationToken cancellationToken = default);
/// <summary>
/// Get all subscriptions
/// </summary>
/// <param name="from">The cursor to start pagination from</param>
/// <param name="limit">The maximum number of subscriptions to return</param>
/// <param name="profileId">The profile ID to filter subscriptions by</param>
/// <param name="testmode">Indicates whether the subscription is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>A list of paginated subscriptions</returns>
Task<ListResponse<SubscriptionResponse>> GetAllSubscriptionList(string? from = null, int? limit = null, string? profileId = null, bool testmode = false, CancellationToken cancellationToken = default);
Task<SubscriptionResponse> GetSubscriptionAsync(UrlObjectLink<SubscriptionResponse> url, CancellationToken cancellationToken = default);
/// <summary>
/// Update an existing subscription.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="subscriptionId">The subscription ID of the subscription to update</param>
/// <param name="request">The subscription update request</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>The updated subscription object</returns>
/// <remarks>Canceled subscriptions cannot be updated</remarks>
Task<SubscriptionResponse> UpdateSubscriptionAsync(string customerId, string subscriptionId, SubscriptionUpdateRequest request, CancellationToken cancellationToken = default);
/// <summary>
/// Retrieve all payments of a specific subscription.
/// </summary>
/// <param name="customerId">The customer ID of the customer to which the subscription belongs</param>
/// <param name="subscriptionId">The subscription ID of the subscription to retrieve payments for</param>
/// <param name="from">The cursor to start pagination from</param>
/// <param name="limit">The maximum number of payments to return</param>
/// <param name="testmode">Indicates whether the subscription is in test mode or not</param>
/// <param name="cancellationToken">Token to cancel the request</param>
/// <returns>A list of paginated payments</returns>
Task<ListResponse<PaymentResponse>> GetSubscriptionPaymentListAsync(string customerId, string subscriptionId, string? from = null, int? limit = null, bool testmode = false, CancellationToken cancellationToken = default);
}
}
================================================
FILE: src/Mollie.Api/Client/Abstract/ITerminalClient.cs
================================================
using System.Threading;
using System.Threading.Tasks;
using Mollie.Api.Models.List.Response;
using Mollie.Api.Models.Terminal.Response;
using Mollie.Api.Models.Url;
namespace Mollie.Api.Client.Abstract
{ /// <summary>
/// Calls in this class are documen
gitextract_xm20k__5/
├── .editorconfig
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ └── dotnetcore.yml
├── .gitignore
├── AGENTS.md
├── Directory.Build.props
├── LICENSE
├── MollieApi.sln
├── README.md
├── mollie.publickey.txt
├── samples/
│ └── Mollie.WebApplication.Blazor/
│ ├── App.razor
│ ├── Framework/
│ │ ├── StaticStringListBuilder.cs
│ │ └── Validators/
│ │ ├── DecimalPlacesAttribute.cs
│ │ └── StaticStringListAttribute.cs
│ ├── Models/
│ │ ├── Customer/
│ │ │ └── CreateCustomerModel.cs
│ │ ├── Mandate/
│ │ │ └── CreateMandateModel.cs
│ │ ├── Order/
│ │ │ ├── CreateOrderBillingAddressModel.cs
│ │ │ ├── CreateOrderLineModel.cs
│ │ │ └── CreateOrderModel.cs
│ │ ├── Payment/
│ │ │ └── CreatePaymentModel.cs
│ │ ├── PaymentLink/
│ │ │ └── CreatePaymentModel.cs
│ │ ├── Subscription/
│ │ │ ├── CreateSubscriptionModel.cs
│ │ │ └── IntervalPeriod.cs
│ │ └── Webhook/
│ │ └── CreateWebhookModel.cs
│ ├── Mollie.WebApplication.Blazor.csproj
│ ├── Pages/
│ │ ├── Customer/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.razor
│ │ ├── Mandate/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Order/
│ │ │ ├── Components/
│ │ │ │ ├── OrderAddressEditor.razor
│ │ │ │ └── OrderLineEditor.razor
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Payment/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── PaymentLink/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── PaymentMethod/
│ │ │ └── Overview.razor
│ │ ├── Subscription/
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ ├── Terminal/
│ │ │ └── Overview.razor
│ │ ├── Webhook/
│ │ │ ├── Components/
│ │ │ │ └── EventTypeEditor.razor
│ │ │ ├── Create.razor
│ │ │ └── Overview.razor
│ │ └── _Host.cshtml
│ ├── Program.cs
│ ├── Properties/
│ │ └── launchSettings.json
│ ├── Shared/
│ │ ├── ApiExceptionDisplay.razor
│ │ ├── MainLayout.razor
│ │ ├── MainLayout.razor.css
│ │ ├── NavMenu.razor
│ │ ├── NavMenu.razor.css
│ │ └── OverviewNavigation.razor
│ ├── Webhooks/
│ │ ├── Classic/
│ │ │ └── PaymentController.cs
│ │ └── Nextgen/
│ │ ├── Controllers/
│ │ │ └── PaymentLinkController.cs
│ │ └── MinimalApi/
│ │ └── WebhookHandler.cs
│ ├── _Imports.razor
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ └── wwwroot/
│ └── css/
│ ├── open-iconic/
│ │ ├── FONT-LICENSE
│ │ ├── ICON-LICENSE
│ │ ├── README.md
│ │ └── font/
│ │ └── fonts/
│ │ └── open-iconic.otf
│ └── site.css
├── src/
│ ├── Mollie.Api/
│ │ ├── Client/
│ │ │ ├── Abstract/
│ │ │ │ ├── IBalanceClient.cs
│ │ │ │ ├── IBalanceTransferClient.cs
│ │ │ │ ├── IBaseMollieClient.cs
│ │ │ │ ├── ICapabilityClient.cs
│ │ │ │ ├── ICaptureClient.cs
│ │ │ │ ├── IChargebackClient.cs
│ │ │ │ ├── IClientClient.cs
│ │ │ │ ├── IClientLinkClient.cs
│ │ │ │ ├── IConnectClient.cs
│ │ │ │ ├── ICustomerClient.cs
│ │ │ │ ├── IInvoiceClient.cs
│ │ │ │ ├── IMandateClient.cs
│ │ │ │ ├── IOnboardingClient.cs
│ │ │ │ ├── IOrderClient.cs
│ │ │ │ ├── IOrganizationClient.cs
│ │ │ │ ├── IPaymentClient.cs
│ │ │ │ ├── IPaymentLinkClient.cs
│ │ │ │ ├── IPaymentMethodClient.cs
│ │ │ │ ├── IPermissionClient.cs
│ │ │ │ ├── IProfileClient.cs
│ │ │ │ ├── IRefundClient.cs
│ │ │ │ ├── ISalesInvoiceClient.cs
│ │ │ │ ├── ISessionClient.cs
│ │ │ │ ├── ISettlementClient.cs
│ │ │ │ ├── IShipmentClient.cs
│ │ │ │ ├── ISubscriptionClient.cs
│ │ │ │ ├── ITerminalClient.cs
│ │ │ │ ├── IWalletClient.cs
│ │ │ │ ├── IWebhookClient.cs
│ │ │ │ └── IWebhookEventClient.cs
│ │ │ ├── BalanceClient.cs
│ │ │ ├── BalanceTransferClient.cs
│ │ │ ├── BaseMollieClient.cs
│ │ │ ├── CapabilityClient.cs
│ │ │ ├── CaptureClient.cs
│ │ │ ├── ChargebackClient.cs
│ │ │ ├── ClientClient.cs
│ │ │ ├── ClientLinkClient.cs
│ │ │ ├── ConnectClient.cs
│ │ │ ├── CustomerClient.cs
│ │ │ ├── InvoiceClient.cs
│ │ │ ├── MandateClient.cs
│ │ │ ├── MollieApiException.cs
│ │ │ ├── OauthBaseMollieClient.cs
│ │ │ ├── OnboardingClient.cs
│ │ │ ├── OrderClient.cs
│ │ │ ├── OrganizationClient.cs
│ │ │ ├── PaymentClient.cs
│ │ │ ├── PaymentLinkClient.cs
│ │ │ ├── PaymentMethodClient.cs
│ │ │ ├── PermissionClient.cs
│ │ │ ├── ProfileClient.cs
│ │ │ ├── RefundClient.cs
│ │ │ ├── SalesInvoiceClient.cs
│ │ │ ├── SessionClient.cs
│ │ │ ├── SettlementClient.cs
│ │ │ ├── ShipmentClient.cs
│ │ │ ├── SubscriptionClient.cs
│ │ │ ├── TerminalClient.cs
│ │ │ ├── WalletClient.cs
│ │ │ ├── WebhookClient.cs
│ │ │ └── WebhookEventClient.cs
│ │ ├── DependencyInjection.cs
│ │ ├── Extensions/
│ │ │ ├── DateTimeExtensions.cs
│ │ │ ├── DictionaryExtensions.cs
│ │ │ ├── HttpClientExtensions.cs
│ │ │ └── ListExtensions.cs
│ │ ├── Framework/
│ │ │ ├── Authentication/
│ │ │ │ ├── Abstract/
│ │ │ │ │ └── IMollieSecretManager.cs
│ │ │ │ └── DefaultMollieSecretManager.cs
│ │ │ ├── Factories/
│ │ │ │ ├── BalanceReportResponseFactory.cs
│ │ │ │ ├── BalanceTransactionFactory.cs
│ │ │ │ ├── ITypeFactory.cs
│ │ │ │ ├── MandateResponseFactory.cs
│ │ │ │ └── PaymentResponseFactory.cs
│ │ │ ├── Idempotency/
│ │ │ │ └── AsyncLocalVariable.cs
│ │ │ ├── JsonConverterService.cs
│ │ │ └── MollieHttpRetryPolicies.cs
│ │ ├── JsonConverters/
│ │ │ ├── CollectionToCommaSeparatedListConverter.cs
│ │ │ ├── DateJsonConverter.cs
│ │ │ ├── Iso8601DateTimeConverter.cs
│ │ │ ├── ListResponseJsonConverter.cs
│ │ │ ├── MicrosecondEpochConverter.cs
│ │ │ ├── PolymorphicConverter.cs
│ │ │ ├── RawJsonConverter.cs
│ │ │ ├── SettlementPeriodConverter.cs
│ │ │ ├── StringToDecimalConverter.cs
│ │ │ └── WebhookEventEntityJsonConverter.cs
│ │ ├── Models/
│ │ │ ├── AddressObject.cs
│ │ │ ├── Amount.cs
│ │ │ ├── ApplicationFee.cs
│ │ │ ├── Balance/
│ │ │ │ └── Response/
│ │ │ │ ├── BalanceReport/
│ │ │ │ │ ├── BalanceReportAmount.cs
│ │ │ │ │ ├── BalanceReportAmountWithSubtotals.cs
│ │ │ │ │ ├── BalanceReportLinks.cs
│ │ │ │ │ ├── BalanceReportResponse.cs
│ │ │ │ │ ├── BalanceReportSubtotals.cs
│ │ │ │ │ ├── ReportGrouping.cs
│ │ │ │ │ └── Specific/
│ │ │ │ │ ├── StatusBalance/
│ │ │ │ │ │ ├── StatusBalanceAvailableBalance.cs
│ │ │ │ │ │ ├── StatusBalanceReportResponse.cs
│ │ │ │ │ │ ├── StatusBalancesPendingBalance.cs
│ │ │ │ │ │ └── StatusBalancesTotal.cs
│ │ │ │ │ └── TransactionCategories/
│ │ │ │ │ ├── TransactionCategoriesReportResponse.cs
│ │ │ │ │ ├── TransactionCategoriesSummaryBalances.cs
│ │ │ │ │ ├── TransactionCategoriesTotal.cs
│ │ │ │ │ └── TransactionCategoriesTransaction.cs
│ │ │ │ ├── BalanceResponse.cs
│ │ │ │ ├── BalanceResponseLinks.cs
│ │ │ │ ├── BalanceResponseStatus.cs
│ │ │ │ ├── BalanceTransaction/
│ │ │ │ │ ├── BalanceTransactionContextType.cs
│ │ │ │ │ ├── BalanceTransactionResponse.cs
│ │ │ │ │ └── Specific/
│ │ │ │ │ ├── CaptureBalanceTransactionResponse.cs
│ │ │ │ │ ├── ChargebackBalanceTransactionResponse.cs
│ │ │ │ │ ├── InvoiceBalanceTransactionResponse.cs
│ │ │ │ │ ├── PaymentBalanceTransactionResponse.cs
│ │ │ │ │ ├── RefundBalanceTransactionResponse.cs
│ │ │ │ │ └── SettlementBalanceTransactionResponse.cs
│ │ │ │ └── BalanceTransferDestination.cs
│ │ │ ├── BalanceTransfer/
│ │ │ │ ├── BalanceTransferParty.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── BalanceTransferRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── BalanceTransferResponse.cs
│ │ │ │ └── BalanceTransferStatusReason.cs
│ │ │ ├── Capability/
│ │ │ │ ├── CapabilityRequirementStatus.cs
│ │ │ │ ├── CapabilityStatus.cs
│ │ │ │ ├── CapabilityStatusReason.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CapabilityRequirement.cs
│ │ │ │ ├── CapabilityRequirementLinks.cs
│ │ │ │ ├── CapabilityResponse.cs
│ │ │ │ └── CapabilityResponseLinks.cs
│ │ │ ├── Capture/
│ │ │ │ ├── CaptureMode.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── CaptureRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CaptureResponse.cs
│ │ │ │ └── CaptureResponseLinks.cs
│ │ │ ├── Chargeback/
│ │ │ │ └── Response/
│ │ │ │ ├── ChargebackResponse.cs
│ │ │ │ ├── ChargebackResponseLinks.cs
│ │ │ │ └── ChargebackResponseReason.cs
│ │ │ ├── Client/
│ │ │ │ └── Response/
│ │ │ │ ├── ClientCommissionResponse.cs
│ │ │ │ ├── ClientEmbeddedResponse.cs
│ │ │ │ ├── ClientResponse.cs
│ │ │ │ └── ClientResponseLinks.cs
│ │ │ ├── ClientLink/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ClientLinkOwner.cs
│ │ │ │ │ └── ClientLinkRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── ClientLinkResponse.cs
│ │ │ │ └── ClientLinkResponseLinks.cs
│ │ │ ├── CompanyEntityType.cs
│ │ │ ├── CompanyObject.cs
│ │ │ ├── Connect/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── AppPermissions.cs
│ │ │ │ │ ├── RevokeTokenRequest.cs
│ │ │ │ │ ├── TokenRequest.cs
│ │ │ │ │ └── TokenType.cs
│ │ │ │ └── Response/
│ │ │ │ └── TokenResponse.cs
│ │ │ ├── Currency.cs
│ │ │ ├── Customer/
│ │ │ │ ├── Request/
│ │ │ │ │ └── CustomerRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── CustomerResponse.cs
│ │ │ │ └── CustomerResponseLinks.cs
│ │ │ ├── Error/
│ │ │ │ └── MollieErrorMessage.cs
│ │ │ ├── IEntity.cs
│ │ │ ├── IProfileRequest.cs
│ │ │ ├── ITestModeRequest.cs
│ │ │ ├── Invoice/
│ │ │ │ └── Response/
│ │ │ │ ├── InvoiceLine.cs
│ │ │ │ ├── InvoiceResponse.cs
│ │ │ │ ├── InvoiceResponseLinks.cs
│ │ │ │ └── InvoiceStatus.cs
│ │ │ ├── Issuer/
│ │ │ │ └── Response/
│ │ │ │ ├── IssuerResponse.cs
│ │ │ │ └── IssuerResponseImage.cs
│ │ │ ├── List/
│ │ │ │ └── Response/
│ │ │ │ ├── ListResponse.cs
│ │ │ │ └── ListResponseLinks.cs
│ │ │ ├── Mandate/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── MandateRequest.cs
│ │ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ │ ├── PayPalMandateRequest.cs
│ │ │ │ │ └── SepaDirectDebitMandateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── MandateResponse.cs
│ │ │ │ ├── MandateResponseLinks.cs
│ │ │ │ ├── MandateStatus.cs
│ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ ├── CreditCardMandateResponse.cs
│ │ │ │ ├── PayPalMandateResponse.cs
│ │ │ │ └── SepaDirectDebitMandateResponse.cs
│ │ │ ├── Mode.cs
│ │ │ ├── Onboarding/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── OnboardingOrganizationRequest.cs
│ │ │ │ │ ├── OnboardingProfileRequest.cs
│ │ │ │ │ └── SubmitOnboardingDataRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── OnboardingStatus.cs
│ │ │ │ ├── OnboardingStatusResponse.cs
│ │ │ │ └── OnboardingStatusResponseLinks.cs
│ │ │ ├── Order/
│ │ │ │ ├── OrderAddressDetails.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ManageOrderLines/
│ │ │ │ │ │ ├── ManageOrderLinesAddOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesAddOperationData.cs
│ │ │ │ │ │ ├── ManageOrderLinesCancelOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesRequest.cs
│ │ │ │ │ │ ├── ManageOrderLinesUpdateOperation.cs
│ │ │ │ │ │ ├── ManageOrderLinesUpdateOperationData.cs
│ │ │ │ │ │ ├── ManagerOrderLinesCancelOperationData.cs
│ │ │ │ │ │ └── OrderLineOperation.cs
│ │ │ │ │ ├── OrderLineCancellationRequest.cs
│ │ │ │ │ ├── OrderLineDetails.cs
│ │ │ │ │ ├── OrderLineDetailsType.cs
│ │ │ │ │ ├── OrderLineRequest.cs
│ │ │ │ │ ├── OrderLineUpdateRequest.cs
│ │ │ │ │ ├── OrderPaymentRequest.cs
│ │ │ │ │ ├── OrderRefundRequest.cs
│ │ │ │ │ ├── OrderRequest.cs
│ │ │ │ │ ├── OrderUpdateRequest.cs
│ │ │ │ │ └── PaymentSpecificParameters/
│ │ │ │ │ ├── ApplePaySpecificParameters.cs
│ │ │ │ │ ├── BillieSpecificParameters.cs
│ │ │ │ │ ├── CreditCardSpecificParameters.cs
│ │ │ │ │ ├── GiftcardSpecificParameters.cs
│ │ │ │ │ ├── IDealSpecificParameters.cs
│ │ │ │ │ ├── KbcSpecificParameters.cs
│ │ │ │ │ ├── KlarnaSpecificParameters.cs
│ │ │ │ │ ├── OrderPaymentParameters.cs
│ │ │ │ │ ├── PaySafeCardSpecificParameters.cs
│ │ │ │ │ └── SepaDirectDebitSpecificParameters.cs
│ │ │ │ └── Response/
│ │ │ │ ├── OrderEmbeddedResponse.cs
│ │ │ │ ├── OrderLineResponse.cs
│ │ │ │ ├── OrderLineResponseLinks.cs
│ │ │ │ ├── OrderLineStatus.cs
│ │ │ │ ├── OrderRefundResponse.cs
│ │ │ │ ├── OrderResponse.cs
│ │ │ │ ├── OrderResponseLinks.cs
│ │ │ │ └── OrderStatus.cs
│ │ │ ├── Organization/
│ │ │ │ ├── OrganizationResponse.cs
│ │ │ │ ├── OrganizationResponseLinks.cs
│ │ │ │ ├── PartnerResponse.cs
│ │ │ │ ├── PartnerTypes.cs
│ │ │ │ └── UserAgentToken.cs
│ │ │ ├── Payment/
│ │ │ │ ├── EntryMode.cs
│ │ │ │ ├── Locale.cs
│ │ │ │ ├── PaymentAddressDetails.cs
│ │ │ │ ├── PaymentLine.cs
│ │ │ │ ├── PaymentMethod.cs
│ │ │ │ ├── PaymentStatus.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── PaymentRequest.cs
│ │ │ │ │ ├── PaymentRoutingRequest.cs
│ │ │ │ │ ├── PaymentSpecificParameters/
│ │ │ │ │ │ ├── ApplePayPaymentRequest.cs
│ │ │ │ │ │ ├── BankTransferPaymentRequest.cs
│ │ │ │ │ │ ├── CreditCardPaymentRequest.cs
│ │ │ │ │ │ ├── GiftcardPaymentRequest.cs
│ │ │ │ │ │ ├── IDealPaymentRequest.cs
│ │ │ │ │ │ ├── KbcIssuer.cs
│ │ │ │ │ │ ├── KbcPaymentRequest.cs
│ │ │ │ │ │ ├── PayPalPaymentRequest.cs
│ │ │ │ │ │ ├── PaySafeCardPaymentRequest.cs
│ │ │ │ │ │ ├── PointOfSalePaymentRequest.cs
│ │ │ │ │ │ ├── Przelewy24PaymentRequest.cs
│ │ │ │ │ │ └── SepaDirectDebitRequest.cs
│ │ │ │ │ └── PaymentUpdateRequest.cs
│ │ │ │ ├── Resource.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── PaymentEmbeddedResponse.cs
│ │ │ │ │ ├── PaymentResponse.cs
│ │ │ │ │ ├── PaymentResponseLinks.cs
│ │ │ │ │ ├── PaymentRoutingResponse.cs
│ │ │ │ │ ├── PaymentSpecificParameters/
│ │ │ │ │ │ ├── BancontactPaymentResponse.cs
│ │ │ │ │ │ ├── BankTransferPaymentResponse.cs
│ │ │ │ │ │ ├── BelfiusPaymentResponse.cs
│ │ │ │ │ │ ├── CreditCardPaymentResponse.cs
│ │ │ │ │ │ ├── EpsPaymentResponse.cs
│ │ │ │ │ │ ├── GiftcardPaymentResponse.cs
│ │ │ │ │ │ ├── GiropayPaymentResponse.cs
│ │ │ │ │ │ ├── IdealPaymentResponse.cs
│ │ │ │ │ │ ├── IngHomePayPaymentResponse.cs
│ │ │ │ │ │ ├── KbcPaymentResponse.cs
│ │ │ │ │ │ ├── PayPalPaymentResponse.cs
│ │ │ │ │ │ ├── PaySafeCardPaymentResponse.cs
│ │ │ │ │ │ ├── PointOfSalePaymentResponse.cs
│ │ │ │ │ │ ├── SepaDirectDebitResponse.cs
│ │ │ │ │ │ └── SofortPaymentResponse.cs
│ │ │ │ │ └── QrCode.cs
│ │ │ │ ├── RoutingDestination.cs
│ │ │ │ └── SequenceType.cs
│ │ │ ├── PaymentLink/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── PaymentLinkRequest.cs
│ │ │ │ │ └── PaymentLinkUpdateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── PaymentLinkResponse.cs
│ │ │ │ └── PaymentLinkResponseLinks.cs
│ │ │ ├── PaymentMethod/
│ │ │ │ └── Response/
│ │ │ │ ├── FixedPricingResponse.cs
│ │ │ │ ├── PaymentMethodResponse.cs
│ │ │ │ ├── PaymentMethodResponseImage.cs
│ │ │ │ ├── PaymentMethodResponseLinks.cs
│ │ │ │ ├── PaymentMethodStatus.cs
│ │ │ │ └── PricingResponse.cs
│ │ │ ├── Permission/
│ │ │ │ └── Response/
│ │ │ │ ├── PermissionResponse.cs
│ │ │ │ └── PermissionResponseLInks.cs
│ │ │ ├── Profile/
│ │ │ │ ├── ProfileStatus.cs
│ │ │ │ ├── Request/
│ │ │ │ │ └── ProfileRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── ApiKey.cs
│ │ │ │ │ ├── EnableGiftCardIssuerResponse.cs
│ │ │ │ │ ├── EnableGiftCardIssuerResponseLinks.cs
│ │ │ │ │ ├── EnableGiftCardIssuerStatus.cs
│ │ │ │ │ ├── ProfileResponse.cs
│ │ │ │ │ └── ProfileResponseLinks.cs
│ │ │ │ └── ReviewStatus.cs
│ │ │ ├── Refund/
│ │ │ │ ├── Request/
│ │ │ │ │ └── RefundRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── RefundResponse.cs
│ │ │ │ │ ├── RefundResponseLinks.cs
│ │ │ │ │ └── RefundStatus.cs
│ │ │ │ └── RoutingReversal.cs
│ │ │ ├── SalesInvoice/
│ │ │ │ ├── EmailDetails.cs
│ │ │ │ ├── PaymentDetails.cs
│ │ │ │ ├── PaymentDetailsSource.cs
│ │ │ │ ├── PaymentTerm.cs
│ │ │ │ ├── Recipient.cs
│ │ │ │ ├── RecipientType.cs
│ │ │ │ ├── Request/
│ │ │ │ │ ├── SalesInvoiceRequest.cs
│ │ │ │ │ └── SalesInvoiceUpdateRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── SalesInvoiceResponse.cs
│ │ │ │ │ └── SalesInvoiceResponseLinks.cs
│ │ │ │ ├── SalesInvoiceLine.cs
│ │ │ │ └── SalesInvoiceStatus.cs
│ │ │ ├── Session/
│ │ │ │ ├── Request/
│ │ │ │ │ └── SessionRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── SessionResponse.cs
│ │ │ │ │ ├── SessionResponseLinks.cs
│ │ │ │ │ └── SessionStatus.cs
│ │ │ │ ├── SessionLine.cs
│ │ │ │ ├── SessionLineRecurringDetails.cs
│ │ │ │ └── SessionPaymentDetails.cs
│ │ │ ├── Settlement/
│ │ │ │ └── Response/
│ │ │ │ ├── SettlementPeriod.cs
│ │ │ │ ├── SettlementPeriodCosts.cs
│ │ │ │ ├── SettlementPeriodCostsRate.cs
│ │ │ │ ├── SettlementPeriodRevenue.cs
│ │ │ │ ├── SettlementResponse.cs
│ │ │ │ ├── SettlementResponseLinks.cs
│ │ │ │ └── SettlementStatus.cs
│ │ │ ├── Shipment/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── ShipmentLineRequest.cs
│ │ │ │ │ ├── ShipmentRequest.cs
│ │ │ │ │ └── ShipmentUpdateRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ ├── ShipmentResponse.cs
│ │ │ │ │ └── ShipmentResponseLinks.cs
│ │ │ │ └── TrackingObject.cs
│ │ │ ├── SortDirection.cs
│ │ │ ├── StatusReason.cs
│ │ │ ├── Subscription/
│ │ │ │ ├── Request/
│ │ │ │ │ ├── SubscriptionRequest.cs
│ │ │ │ │ └── SubscriptionUpdateRequest.cs
│ │ │ │ └── Response/
│ │ │ │ ├── SubscriptionResponse.cs
│ │ │ │ ├── SubscriptionResponseLinks.cs
│ │ │ │ └── SubscriptionStatus.cs
│ │ │ ├── Terminal/
│ │ │ │ └── Response/
│ │ │ │ ├── TerminalResponse.cs
│ │ │ │ └── TerminalResponseLinks.cs
│ │ │ ├── TestmodeModel.cs
│ │ │ ├── Url/
│ │ │ │ ├── UrlLink.cs
│ │ │ │ └── UrlObjectLink.cs
│ │ │ ├── VatMode.cs
│ │ │ ├── VatScheme.cs
│ │ │ ├── VoucherCategory.cs
│ │ │ ├── Wallet/
│ │ │ │ ├── Request/
│ │ │ │ │ └── ApplePayPaymentSessionRequest.cs
│ │ │ │ └── Response/
│ │ │ │ └── ApplePayPaymentSessionResponse.cs
│ │ │ ├── Webhook/
│ │ │ │ ├── Request/
│ │ │ │ │ └── WebhookRequest.cs
│ │ │ │ ├── Response/
│ │ │ │ │ └── WebhookResponse.cs
│ │ │ │ └── WebhookEventTypes.cs
│ │ │ └── WebhookEvent/
│ │ │ └── Response/
│ │ │ ├── FullWebhookEventResponse.cs
│ │ │ ├── SimpleWebhookEventResponse.cs
│ │ │ └── WebhookEventResponseLinks.cs
│ │ ├── Mollie.Api.csproj
│ │ └── Options/
│ │ ├── MollieClientOptions.cs
│ │ └── MollieOptions.cs
│ └── Mollie.Api.AspNet/
│ ├── DependencyInjection.cs
│ ├── Mollie.Api.AspNet.csproj
│ └── Webhooks/
│ ├── Authorization/
│ │ ├── MollieSignatureEndpointFilter.cs
│ │ ├── MollieSignatureFilter.cs
│ │ └── MollieSignatureValidator.cs
│ ├── ModelBinding/
│ │ ├── FromMollieWebhookAttribute.cs
│ │ ├── FromMollieWebhookModelBinder.cs
│ │ └── MollieModelBinder.cs
│ └── Options/
│ └── MollieWebhookOptions.cs
└── tests/
├── Mollie.Tests.Integration/
│ ├── Api/
│ │ ├── ApiExceptionTests.cs
│ │ ├── BalanceTests.cs
│ │ ├── CaptureTests.cs
│ │ ├── ConnectTests.cs
│ │ ├── CustomerTests.cs
│ │ ├── MandateTests.cs
│ │ ├── OrderTests.cs
│ │ ├── PaymentLinkTests.cs
│ │ ├── PaymentMethodTests.cs
│ │ ├── PaymentTests.cs
│ │ ├── ProfileTests.cs
│ │ ├── RefundTests.cs
│ │ ├── SalesInvoiceTests.cs
│ │ ├── SessionTests.cs
│ │ ├── ShipmentTests.cs
│ │ ├── SubscriptionTests.cs
│ │ ├── TerminalTests.cs
│ │ ├── WebhookEventTests.cs
│ │ └── WebhookTests.cs
│ ├── Framework/
│ │ ├── BaseMollieApiTestClass.cs
│ │ ├── ConfigurationFactory.cs
│ │ └── MollieIntegrationTestHttpRetryPolicies.cs
│ ├── Mollie.Tests.Integration.csproj
│ ├── Startup.cs
│ ├── appsettings.json
│ └── xunit.runner.json
└── Mollie.Tests.Unit/
├── Client/
│ ├── BalanceClientTests.cs
│ ├── BalanceTransferClientTests.cs
│ ├── BaseClientTests.cs
│ ├── BaseMollieClientTests.cs
│ ├── CapabilityClientTests.cs
│ ├── CaptureClientTests.cs
│ ├── ChargebackClientTests.cs
│ ├── ClientClientTests.cs
│ ├── ClientLinkClientTests.cs
│ ├── ConnectClientTests.cs
│ ├── CustomerClientTests.cs
│ ├── InvoiceClientTests.cs
│ ├── MandateClientTests.cs
│ ├── OnboardingClientTests.cs
│ ├── OrderClientTests.cs
│ ├── OrganizationClientTests.cs
│ ├── PaymentClientTests.cs
│ ├── PaymentLinkClientTests.cs
│ ├── PaymentMethodClientTests.cs
│ ├── PermissionClientTests.cs
│ ├── ProfileClientTests.cs
│ ├── RefundClientTests.cs
│ ├── SalesInvoiceClientTests.cs
│ ├── SettlementClientTests.cs
│ ├── ShipmentClientTests.cs
│ ├── SubscriptionClientTests.cs
│ ├── TerminalClientTests.cs
│ ├── WalletClientTest.cs
│ ├── WebhookClientTests.cs
│ └── WebhookEventClientTests.cs
├── DependencyInjectionTests.cs
├── Extensions/
│ └── DictionaryExtensionsTests.cs
├── Framework/
│ ├── AmountConversionTests.cs
│ ├── Factories/
│ │ ├── BalanceReportResponseFactoryTests.cs
│ │ ├── BalanceTransactionFactoryTests.cs
│ │ └── PaymentResponseFactoryTests.cs
│ └── JsonConverterServiceTests.cs
├── Models/
│ ├── AmountTests.cs
│ └── Payment/
│ └── Request/
│ └── PaymentRequestTests.cs
└── Mollie.Tests.Unit.csproj
SYMBOL INDEX (1435 symbols across 437 files)
FILE: samples/Mollie.WebApplication.Blazor/Framework/StaticStringListBuilder.cs
class StaticStringListBuilder (line 5) | public static class StaticStringListBuilder {
method GetStaticStringList (line 6) | public static IEnumerable<string> GetStaticStringList(Type type) {
FILE: samples/Mollie.WebApplication.Blazor/Framework/Validators/DecimalPlacesAttribute.cs
class DecimalPlacesAttribute (line 6) | public class DecimalPlacesAttribute : ValidationAttribute {
method DecimalPlacesAttribute (line 9) | public DecimalPlacesAttribute(int decimalPlaces) {
method IsValid (line 13) | protected override ValidationResult? IsValid(object? value, Validation...
FILE: samples/Mollie.WebApplication.Blazor/Framework/Validators/StaticStringListAttribute.cs
class StaticStringListAttribute (line 6) | public class StaticStringListAttribute : ValidationAttribute {
method StaticStringListAttribute (line 9) | public StaticStringListAttribute(Type staticClass) {
method IsValid (line 13) | protected override ValidationResult? IsValid(object? value, Validation...
FILE: samples/Mollie.WebApplication.Blazor/Models/Customer/CreateCustomerModel.cs
class CreateCustomerModel (line 5) | public class CreateCustomerModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Mandate/CreateMandateModel.cs
class CreateMandateModel (line 5) | public class CreateMandateModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderBillingAddressModel.cs
class CreateOrderBillingAddressModel (line 5) | public class CreateOrderBillingAddressModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderLineModel.cs
class CreateOrderLineModel (line 6) | public class CreateOrderLineModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderModel.cs
class CreateOrderModel (line 7) | public class CreateOrderModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Payment/CreatePaymentModel.cs
class CreatePaymentModel (line 7) | public class CreatePaymentModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/PaymentLink/CreatePaymentModel.cs
class CreatePaymentLinkModel (line 7) | public class CreatePaymentLinkModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Subscription/CreateSubscriptionModel.cs
class CreateSubscriptionModel (line 7) | public class CreateSubscriptionModel {
FILE: samples/Mollie.WebApplication.Blazor/Models/Subscription/IntervalPeriod.cs
type IntervalPeriod (line 3) | public enum IntervalPeriod {
FILE: samples/Mollie.WebApplication.Blazor/Models/Webhook/CreateWebhookModel.cs
class CreateWebhookModel (line 5) | public class CreateWebhookModel {
FILE: samples/Mollie.WebApplication.Blazor/Pages/Error.cshtml.cs
class ErrorModel (line 7) | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoSt...
method OnGet (line 14) | public void OnGet() {
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Classic/PaymentController.cs
class PaymentController (line 7) | [ApiController]
method PaymentController (line 13) | public PaymentController(ILogger<PaymentController> logger, IPaymentCl...
method Webhook (line 18) | [HttpPost]
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/Controllers/PaymentLinkController.cs
class PaymentLinkController (line 9) | [ApiController]
method WebhookWithSpecificType (line 13) | [HttpPost("full/specific")]
method WebhookWithGenericType (line 20) | [HttpPost("full/generic")]
method WebhookWithGenericType (line 27) | [HttpPost("simple")]
FILE: samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/MinimalApi/WebhookHandler.cs
class WebhookHandler (line 8) | public static class WebhookHandler {
method RegisterEndpoints (line 10) | public static void RegisterEndpoints(IEndpointRouteBuilder app) {
FILE: src/Mollie.Api.AspNet/DependencyInjection.cs
class DependencyInjection (line 7) | public static class DependencyInjection {
method AddMollieWebhook (line 8) | public static IServiceCollection AddMollieWebhook(
FILE: src/Mollie.Api.AspNet/Webhooks/Authorization/MollieSignatureEndpointFilter.cs
class MollieSignatureEndpointFilter (line 7) | public class MollieSignatureEndpointFilter : IEndpointFilter {
method MollieSignatureEndpointFilter (line 10) | public MollieSignatureEndpointFilter(MollieSignatureValidator signatur...
method InvokeAsync (line 14) | public async ValueTask<object?> InvokeAsync(EndpointFilterInvocationCo...
FILE: src/Mollie.Api.AspNet/Webhooks/Authorization/MollieSignatureFilter.cs
class MollieSignatureFilter (line 6) | public class MollieSignatureFilter : IAsyncAuthorizationFilter
method MollieSignatureFilter (line 10) | public MollieSignatureFilter(MollieSignatureValidator signatureValidat...
method OnAuthorizationAsync (line 14) | public async Task OnAuthorizationAsync(AuthorizationFilterContext cont...
FILE: src/Mollie.Api.AspNet/Webhooks/Authorization/MollieSignatureValidator.cs
class MollieSignatureValidator (line 8) | public class MollieSignatureValidator
method MollieSignatureValidator (line 12) | public MollieSignatureValidator(MollieWebhookOptions options) {
method Validate (line 29) | public async Task<bool> Validate(HttpRequest request) {
method ValidateHmacSignature (line 47) | private bool ValidateHmacSignature(string headerValue, byte[] bodyByte...
method HexToBytes (line 83) | private static byte[] HexToBytes(string hex)
method GetRequestBodyBytes (line 93) | private async Task<byte[]> GetRequestBodyBytes(HttpRequest request)
FILE: src/Mollie.Api.AspNet/Webhooks/ModelBinding/FromMollieWebhookAttribute.cs
class FromMollieWebhookAttribute (line 5) | public class FromMollieWebhookAttribute : ModelBinderAttribute
method FromMollieWebhookAttribute (line 7) | public FromMollieWebhookAttribute() : base(typeof(FromMollieWebhookMod...
FILE: src/Mollie.Api.AspNet/Webhooks/ModelBinding/FromMollieWebhookModelBinder.cs
class FromMollieWebhookModelBinder (line 7) | public class FromMollieWebhookModelBinder : IModelBinder {
method FromMollieWebhookModelBinder (line 10) | public FromMollieWebhookModelBinder() {
method BindModelAsync (line 14) | public async Task BindModelAsync(ModelBindingContext context)
FILE: src/Mollie.Api.AspNet/Webhooks/ModelBinding/MollieModelBinder.cs
class MollieModelBinder (line 8) | public class MollieModelBinder<T> where T : IEntity {
method BindAsync (line 11) | public static async ValueTask<MollieModelBinder<T>?> BindAsync(HttpCon...
FILE: src/Mollie.Api.AspNet/Webhooks/Options/MollieWebhookOptions.cs
type MollieWebhookOptions (line 3) | public record MollieWebhookOptions {
FILE: src/Mollie.Api/Client/Abstract/IBalanceClient.cs
type IBalanceClient (line 11) | public interface IBalanceClient : IBaseMollieClient {
method GetBalanceAsync (line 17) | Task<BalanceResponse> GetBalanceAsync(string balanceId, CancellationTo...
method GetBalanceAsync (line 24) | Task<BalanceResponse> GetBalanceAsync(UrlObjectLink<BalanceResponse> u...
method GetPrimaryBalanceAsync (line 31) | Task<BalanceResponse> GetPrimaryBalanceAsync(CancellationToken cancell...
method GetBalanceListAsync (line 43) | Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
method GetBalanceListAsync (line 51) | Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
method GetBalanceReportAsync (line 68) | Task<BalanceReportResponse> GetBalanceReportAsync(
method GetPrimaryBalanceReportAsync (line 84) | Task<BalanceReportResponse> GetPrimaryBalanceReportAsync(
method GetBalanceTransactionListAsync (line 96) | Task<ListResponse<BalanceTransactionResponse>> GetBalanceTransactionLi...
method GetPrimaryBalanceTransactionListAsync (line 107) | Task<ListResponse<BalanceTransactionResponse>> GetPrimaryBalanceTransa...
method GetBalanceTransactionListAsync (line 115) | Task<ListResponse<BalanceTransactionResponse>> GetBalanceTransactionLi...
FILE: src/Mollie.Api/Client/Abstract/IBalanceTransferClient.cs
type IBalanceTransferClient (line 10) | public interface IBalanceTransferClient {
method CreateBalanceTransferAsync (line 18) | Task<BalanceTransferResponse> CreateBalanceTransferAsync(
method GetBalanceTransferListAsync (line 26) | Task<ListResponse<BalanceTransferResponse>> GetBalanceTransferListAsync(
method GetBalanceTransferAsync (line 32) | Task<BalanceTransferResponse> GetBalanceTransferAsync(
FILE: src/Mollie.Api/Client/Abstract/IBaseMollieClient.cs
type IBaseMollieClient (line 5) | public interface IBaseMollieClient : IDisposable
method WithIdempotencyKey (line 7) | IDisposable WithIdempotencyKey(string value);
FILE: src/Mollie.Api/Client/Abstract/ICapabilityClient.cs
type ICapabilityClient (line 8) | public interface ICapabilityClient {
method GetCapabilitiesListAsync (line 9) | Task<ListResponse<CapabilityResponse>> GetCapabilitiesListAsync(Cancel...
FILE: src/Mollie.Api/Client/Abstract/ICaptureClient.cs
type ICaptureClient (line 9) | public interface ICaptureClient : IBaseMollieClient {
method GetCaptureAsync (line 10) | Task<CaptureResponse> GetCaptureAsync(string paymentId, string capture...
method GetCaptureAsync (line 11) | Task<CaptureResponse> GetCaptureAsync(UrlObjectLink<CaptureResponse> u...
method GetCaptureListAsync (line 12) | Task<ListResponse<CaptureResponse>> GetCaptureListAsync(string payment...
method GetCaptureListAsync (line 13) | Task<ListResponse<CaptureResponse>> GetCaptureListAsync(UrlObjectLink<...
method CreateCapture (line 14) | Task<CaptureResponse> CreateCapture(string paymentId, CaptureRequest c...
FILE: src/Mollie.Api/Client/Abstract/IChargebackClient.cs
type IChargebackClient (line 8) | public interface IChargebackClient : IBaseMollieClient {
method GetChargebackAsync (line 9) | Task<ChargebackResponse> GetChargebackAsync(string paymentId, string c...
method GetChargebackListAsync (line 10) | Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(string p...
method GetChargebackListAsync (line 11) | Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(string? ...
method GetChargebackListAsync (line 12) | Task<ListResponse<ChargebackResponse>> GetChargebackListAsync(UrlObjec...
FILE: src/Mollie.Api/Client/Abstract/IClientClient.cs
type IClientClient (line 7) | public interface IClientClient : IBaseMollieClient
method GetClientAsync (line 9) | Task<ClientResponse> GetClientAsync(
method GetClientListAsync (line 12) | Task<ListResponse<ClientResponse>> GetClientListAsync(
FILE: src/Mollie.Api/Client/Abstract/IClientLinkClient.cs
type IClientLinkClient (line 8) | public interface IClientLinkClient {
method CreateClientLinkAsync (line 9) | Task<ClientLinkResponse> CreateClientLinkAsync(ClientLinkRequest reque...
method GenerateClientLinkWithParameters (line 11) | string GenerateClientLinkWithParameters(
FILE: src/Mollie.Api/Client/Abstract/IConnectClient.cs
type IConnectClient (line 9) | public interface IConnectClient : IDisposable
method GetAuthorizationUrl (line 38) | string GetAuthorizationUrl(
method GetAccessTokenAsync (line 53) | Task<TokenResponse> GetAccessTokenAsync(TokenRequest request, Cancella...
method RevokeTokenAsync (line 61) | Task RevokeTokenAsync(RevokeTokenRequest request, CancellationToken ca...
FILE: src/Mollie.Api/Client/Abstract/ICustomerClient.cs
type ICustomerClient (line 11) | public interface ICustomerClient : IBaseMollieClient {
method CreateCustomerAsync (line 12) | Task<CustomerResponse> CreateCustomerAsync(CustomerRequest request, Ca...
method UpdateCustomerAsync (line 13) | Task<CustomerResponse> UpdateCustomerAsync(string customerId, Customer...
method DeleteCustomerAsync (line 14) | Task DeleteCustomerAsync(string customerId, bool testmode = false, Can...
method GetCustomerAsync (line 15) | Task<CustomerResponse> GetCustomerAsync(string customerId, bool testmo...
method GetCustomerAsync (line 16) | Task<CustomerResponse> GetCustomerAsync(UrlObjectLink<CustomerResponse...
method GetCustomerListAsync (line 17) | Task<ListResponse<CustomerResponse>> GetCustomerListAsync(UrlObjectLin...
method GetCustomerListAsync (line 18) | Task<ListResponse<CustomerResponse>> GetCustomerListAsync(string? from...
method GetCustomerPaymentListAsync (line 19) | Task<ListResponse<PaymentResponse>> GetCustomerPaymentListAsync(string...
method CreateCustomerPayment (line 20) | Task<PaymentResponse> CreateCustomerPayment(string customerId, Payment...
FILE: src/Mollie.Api/Client/Abstract/IInvoiceClient.cs
type IInvoiceClient (line 8) | public interface IInvoiceClient : IBaseMollieClient {
method GetInvoiceAsync (line 9) | Task<InvoiceResponse> GetInvoiceAsync(string invoiceId, CancellationTo...
method GetInvoiceAsync (line 10) | Task<InvoiceResponse> GetInvoiceAsync(UrlObjectLink<InvoiceResponse> u...
method GetInvoiceListAsync (line 11) | Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(
method GetInvoiceListAsync (line 13) | Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(UrlObjectLink<...
FILE: src/Mollie.Api/Client/Abstract/IMandateClient.cs
type IMandateClient (line 9) | public interface IMandateClient : IBaseMollieClient {
method GetMandateAsync (line 10) | Task<MandateResponse> GetMandateAsync(string customerId, string mandat...
method GetMandateListAsync (line 11) | Task<ListResponse<MandateResponse>> GetMandateListAsync(string custome...
method CreateMandateAsync (line 12) | Task<MandateResponse> CreateMandateAsync(string customerId, MandateReq...
method GetMandateListAsync (line 13) | Task<ListResponse<MandateResponse>> GetMandateListAsync(UrlObjectLink<...
method GetMandateAsync (line 14) | Task<MandateResponse> GetMandateAsync(UrlObjectLink<MandateResponse> u...
method RevokeMandate (line 15) | Task RevokeMandate(string customerId, string mandateId, bool testmode ...
FILE: src/Mollie.Api/Client/Abstract/IOnboardingClient.cs
type IOnboardingClient (line 7) | public interface IOnboardingClient : IBaseMollieClient {
method GetOnboardingStatusAsync (line 8) | Task<OnboardingStatusResponse> GetOnboardingStatusAsync(CancellationTo...
method SubmitOnboardingDataAsync (line 10) | Task SubmitOnboardingDataAsync(SubmitOnboardingDataRequest request, Ca...
FILE: src/Mollie.Api/Client/Abstract/IOrderClient.cs
type IOrderClient (line 13) | [Obsolete("Mollie no longer recommends using the Orders API. Please refe...
method CreateOrderAsync (line 15) | Task<OrderResponse> CreateOrderAsync(OrderRequest orderRequest, Cancel...
method GetOrderAsync (line 16) | Task<OrderResponse> GetOrderAsync(
method GetOrderAsync (line 18) | Task<OrderResponse> GetOrderAsync(UrlObjectLink<OrderResponse> url, Ca...
method UpdateOrderAsync (line 19) | Task<OrderResponse> UpdateOrderAsync(string orderId, OrderUpdateReques...
method UpdateOrderLinesAsync (line 20) | Task<OrderResponse> UpdateOrderLinesAsync(string orderId, string order...
method ManageOrderLinesAsync (line 21) | Task<OrderResponse> ManageOrderLinesAsync(string orderId, ManageOrderL...
method CancelOrderAsync (line 22) | Task CancelOrderAsync(string orderId, bool testmode = false, Cancellat...
method GetOrderListAsync (line 23) | Task<ListResponse<OrderResponse>> GetOrderListAsync(
method GetOrderListAsync (line 25) | Task<ListResponse<OrderResponse>> GetOrderListAsync(UrlObjectLink<List...
method CancelOrderLinesAsync (line 26) | Task CancelOrderLinesAsync(string orderId, OrderLineCancellationReques...
method CreateOrderPaymentAsync (line 27) | Task<PaymentResponse> CreateOrderPaymentAsync(string orderId, OrderPay...
FILE: src/Mollie.Api/Client/Abstract/IOrganizationClient.cs
type IOrganizationClient (line 8) | public interface IOrganizationClient : IBaseMollieClient {
method GetCurrentOrganizationAsync (line 9) | Task<OrganizationResponse> GetCurrentOrganizationAsync(CancellationTok...
method GetOrganizationAsync (line 10) | Task<OrganizationResponse> GetOrganizationAsync(string organizationId,...
method GetOrganizationListAsync (line 11) | Task<ListResponse<OrganizationResponse>> GetOrganizationListAsync(stri...
method GetOrganizationListAsync (line 12) | Task<ListResponse<OrganizationResponse>> GetOrganizationListAsync(UrlO...
method GetOrganizationAsync (line 13) | Task<OrganizationResponse> GetOrganizationAsync(UrlObjectLink<Organiza...
method GetPartnerStatusAsync (line 14) | Task<PartnerResponse> GetPartnerStatusAsync(CancellationToken cancella...
FILE: src/Mollie.Api/Client/Abstract/IPaymentClient.cs
type IPaymentClient (line 10) | public interface IPaymentClient : IBaseMollieClient {
method CreatePaymentAsync (line 19) | Task<PaymentResponse> CreatePaymentAsync(
method GetPaymentAsync (line 40) | Task<PaymentResponse> GetPaymentAsync(
method CancelPaymentAsync (line 58) | Task CancelPaymentAsync(
method ReleasePaymentAuthorization (line 71) | Task ReleasePaymentAuthorization(
method GetPaymentListAsync (line 92) | Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
method GetPaymentListAsync (line 109) | Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
method GetPaymentAsync (line 119) | Task<PaymentResponse> GetPaymentAsync(
method UpdatePaymentAsync (line 131) | Task<PaymentResponse> UpdatePaymentAsync(
FILE: src/Mollie.Api/Client/Abstract/IPaymentLinkClient.cs
type IPaymentLinkClient (line 11) | public interface IPaymentLinkClient : IBaseMollieClient {
method CreatePaymentLinkAsync (line 18) | Task<PaymentLinkResponse> CreatePaymentLinkAsync(
method UpdatePaymentLinkAsync (line 29) | Task<PaymentLinkResponse> UpdatePaymentLinkAsync(
method DeletePaymentLinkAsync (line 45) | Task DeletePaymentLinkAsync(
method GetPaymentLinkAsync (line 58) | Task<PaymentLinkResponse> GetPaymentLinkAsync(
method GetPaymentLinkListAsync (line 75) | Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkListAsync(
method GetPaymentLinkListAsync (line 88) | Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkListAsync(
method GetPaymentLinkAsync (line 98) | Task<PaymentLinkResponse> GetPaymentLinkAsync(
method GetPaymentLinkPaymentListAsync (line 117) | Task<ListResponse<PaymentResponse>> GetPaymentLinkPaymentListAsync(
FILE: src/Mollie.Api/Client/Abstract/IPaymentMethodClient.cs
type IPaymentMethodClient (line 10) | public interface IPaymentMethodClient : IBaseMollieClient {
method GetPaymentMethodAsync (line 11) | Task<PaymentMethodResponse> GetPaymentMethodAsync(
method GetAllPaymentMethodListAsync (line 20) | Task<ListResponse<PaymentMethodResponse>> GetAllPaymentMethodListAsync(
method GetPaymentMethodListAsync (line 29) | Task<ListResponse<PaymentMethodResponse>> GetPaymentMethodListAsync(
method GetPaymentMethodAsync (line 41) | Task<PaymentMethodResponse> GetPaymentMethodAsync(UrlObjectLink<Paymen...
FILE: src/Mollie.Api/Client/Abstract/IPermissionClient.cs
type IPermissionClient (line 8) | public interface IPermissionClient : IBaseMollieClient {
method GetPermissionAsync (line 9) | Task<PermissionResponse> GetPermissionAsync(string permissionId,
method GetPermissionAsync (line 11) | Task<PermissionResponse> GetPermissionAsync(UrlObjectLink<PermissionRe...
method GetPermissionListAsync (line 13) | Task<ListResponse<PermissionResponse>> GetPermissionListAsync(
FILE: src/Mollie.Api/Client/Abstract/IProfileClient.cs
type IProfileClient (line 10) | public interface IProfileClient : IBaseMollieClient {
method CreateProfileAsync (line 11) | Task<ProfileResponse> CreateProfileAsync(ProfileRequest request, Cance...
method GetProfileAsync (line 12) | Task<ProfileResponse> GetProfileAsync(string profileId, CancellationTo...
method GetProfileAsync (line 13) | Task<ProfileResponse> GetProfileAsync(UrlObjectLink<ProfileResponse> u...
method GetProfileListAsync (line 14) | Task<ListResponse<ProfileResponse>> GetProfileListAsync(string? from =...
method GetProfileListAsync (line 15) | Task<ListResponse<ProfileResponse>> GetProfileListAsync(UrlObjectLink<...
method UpdateProfileAsync (line 16) | Task<ProfileResponse> UpdateProfileAsync(string profileId, ProfileRequ...
method DeleteProfileAsync (line 17) | Task DeleteProfileAsync(string profileId, CancellationToken cancellati...
method GetCurrentProfileAsync (line 18) | Task<ProfileResponse> GetCurrentProfileAsync(CancellationToken cancell...
method EnablePaymentMethodAsync (line 19) | Task<PaymentMethodResponse> EnablePaymentMethodAsync(string profileId,...
method EnablePaymentMethodAsync (line 20) | Task<PaymentMethodResponse> EnablePaymentMethodAsync(string paymentMet...
method DisablePaymentMethodAsync (line 21) | Task DisablePaymentMethodAsync(string profileId, string paymentMethod,...
method DisablePaymentMethodAsync (line 22) | Task DisablePaymentMethodAsync(string paymentMethod, CancellationToken...
method EnableGiftCardIssuerAsync (line 23) | Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAsync(string pr...
method EnableGiftCardIssuerAsync (line 24) | Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAsync(string is...
method DisableGiftCardIssuerAsync (line 25) | Task DisableGiftCardIssuerAsync(string profileId, string issuer, Cance...
method DisableGiftCardIssuerAsync (line 26) | Task DisableGiftCardIssuerAsync(string issuer, CancellationToken cance...
FILE: src/Mollie.Api/Client/Abstract/IRefundClient.cs
type IRefundClient (line 11) | public interface IRefundClient : IBaseMollieClient {
method CreatePaymentRefundAsync (line 12) | Task<RefundResponse> CreatePaymentRefundAsync(string paymentId, Refund...
method GetPaymentRefundAsync (line 13) | Task<RefundResponse> GetPaymentRefundAsync(string paymentId, string re...
method CancelPaymentRefundAsync (line 14) | Task CancelPaymentRefundAsync(string paymentId, string refundId, bool ...
method GetPaymentRefundListAsync (line 15) | Task<ListResponse<RefundResponse>> GetPaymentRefundListAsync(string pa...
method CreateOrderRefundAsync (line 16) | Task<OrderRefundResponse> CreateOrderRefundAsync(string orderId, Order...
method GetOrderRefundListAsync (line 17) | Task<ListResponse<RefundResponse>> GetOrderRefundListAsync(string orde...
method GetRefundListAsync (line 18) | Task<ListResponse<RefundResponse>> GetRefundListAsync(UrlObjectLink<Li...
method GetRefundAsync (line 19) | Task<RefundResponse> GetRefundAsync(UrlObjectLink<RefundResponse> url,...
FILE: src/Mollie.Api/Client/Abstract/ISalesInvoiceClient.cs
type ISalesInvoiceClient (line 11) | public interface ISalesInvoiceClient : IDisposable {
method CreateSalesInvoiceAsync (line 12) | Task<SalesInvoiceResponse> CreateSalesInvoiceAsync(
method GetSalesInvoiceListAsync (line 14) | Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceListAsync(
method GetSalesInvoiceListAsync (line 16) | Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceListAsync(
method GetSalesInvoiceAsync (line 18) | Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
method GetSalesInvoiceAsync (line 20) | Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
method UpdateSalesInvoiceAsync (line 22) | Task<SalesInvoiceResponse> UpdateSalesInvoiceAsync(
method DeleteSalesInvoiceAsync (line 24) | Task DeleteSalesInvoiceAsync(string salesInvoiceId, bool testmode = fa...
FILE: src/Mollie.Api/Client/Abstract/ISessionClient.cs
type ISessionClient (line 10) | public interface ISessionClient : IBaseMollieClient {
method CreateSessionAsync (line 18) | Task<SessionResponse> CreateSessionAsync(SessionRequest request, Cance...
method GetSessionAsync (line 27) | Task<SessionResponse> GetSessionAsync(string sessionId, bool testmode ...
FILE: src/Mollie.Api/Client/Abstract/ISettlementClient.cs
type ISettlementClient (line 12) | public interface ISettlementClient : IBaseMollieClient {
method GetSettlementAsync (line 13) | Task<SettlementResponse> GetSettlementAsync(string settlementId, Cance...
method GetNextSettlement (line 14) | Task<SettlementResponse> GetNextSettlement(CancellationToken cancellat...
method GetOpenSettlement (line 15) | Task<SettlementResponse> GetOpenSettlement(CancellationToken cancellat...
method GetSettlementListAsync (line 16) | Task<ListResponse<SettlementResponse>> GetSettlementListAsync(string? ...
method GetSettlementListAsync (line 17) | Task<ListResponse<SettlementResponse>> GetSettlementListAsync(UrlObjec...
method GetSettlementPaymentListAsync (line 18) | Task<ListResponse<PaymentResponse>> GetSettlementPaymentListAsync(stri...
method GetSettlementPaymentListAsync (line 19) | Task<ListResponse<PaymentResponse>> GetSettlementPaymentListAsync(UrlO...
method GetSettlementRefundListAsync (line 20) | Task<ListResponse<RefundResponse>> GetSettlementRefundListAsync(string...
method GetSettlementRefundListAsync (line 21) | Task<ListResponse<RefundResponse>> GetSettlementRefundListAsync(UrlObj...
method GetSettlementChargebackListAsync (line 22) | Task<ListResponse<ChargebackResponse>> GetSettlementChargebackListAsyn...
method GetSettlementChargebackListAsync (line 23) | Task<ListResponse<ChargebackResponse>> GetSettlementChargebackListAsyn...
method GetSettlementCaptureListAsync (line 24) | Task<ListResponse<CaptureResponse>> GetSettlementCaptureListAsync(stri...
method GetSettlementCaptureListAsync (line 25) | Task<ListResponse<CaptureResponse>> GetSettlementCaptureListAsync(UrlO...
method GetSettlementAsync (line 26) | Task<SettlementResponse> GetSettlementAsync(UrlObjectLink<SettlementRe...
FILE: src/Mollie.Api/Client/Abstract/IShipmentClient.cs
type IShipmentClient (line 9) | public interface IShipmentClient : IBaseMollieClient {
method CreateShipmentAsync (line 10) | Task<ShipmentResponse> CreateShipmentAsync(string orderId, ShipmentReq...
method GetShipmentAsync (line 11) | Task<ShipmentResponse> GetShipmentAsync(string orderId, string shipmen...
method GetShipmentAsync (line 12) | Task<ShipmentResponse> GetShipmentAsync(UrlObjectLink<ShipmentResponse...
method GetShipmentListAsync (line 13) | Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(string order...
method GetShipmentListAsync (line 14) | Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(UrlObjectLin...
method UpdateShipmentAsync (line 15) | Task<ShipmentResponse> UpdateShipmentAsync(string orderId, string ship...
FILE: src/Mollie.Api/Client/Abstract/ISubscriptionClient.cs
type ISubscriptionClient (line 10) | public interface ISubscriptionClient : IBaseMollieClient {
method CancelSubscriptionAsync (line 18) | Task CancelSubscriptionAsync(string customerId, string subscriptionId,...
method CreateSubscriptionAsync (line 27) | Task<SubscriptionResponse> CreateSubscriptionAsync(string customerId, ...
method GetSubscriptionAsync (line 37) | Task<SubscriptionResponse> GetSubscriptionAsync(string customerId, str...
method GetSubscriptionListAsync (line 49) | Task<ListResponse<SubscriptionResponse>> GetSubscriptionListAsync(stri...
method GetSubscriptionListAsync (line 50) | Task<ListResponse<SubscriptionResponse>> GetSubscriptionListAsync(UrlO...
method GetAllSubscriptionList (line 60) | Task<ListResponse<SubscriptionResponse>> GetAllSubscriptionList(string...
method GetSubscriptionAsync (line 61) | Task<SubscriptionResponse> GetSubscriptionAsync(UrlObjectLink<Subscrip...
method UpdateSubscriptionAsync (line 72) | Task<SubscriptionResponse> UpdateSubscriptionAsync(string customerId, ...
method GetSubscriptionPaymentListAsync (line 83) | Task<ListResponse<PaymentResponse>> GetSubscriptionPaymentListAsync(st...
FILE: src/Mollie.Api/Client/Abstract/ITerminalClient.cs
type ITerminalClient (line 11) | public interface ITerminalClient : IBaseMollieClient {
method GetTerminalAsync (line 12) | Task<TerminalResponse> GetTerminalAsync(string terminalId, bool testmo...
method GetTerminalAsync (line 13) | Task<TerminalResponse> GetTerminalAsync(UrlObjectLink<TerminalResponse...
method GetTerminalListAsync (line 14) | Task<ListResponse<TerminalResponse>> GetTerminalListAsync(string? from...
method GetTerminalListAsync (line 15) | Task<ListResponse<TerminalResponse>> GetTerminalListAsync(UrlObjectLin...
FILE: src/Mollie.Api/Client/Abstract/IWalletClient.cs
type IWalletClient (line 7) | public interface IWalletClient : IBaseMollieClient {
method RequestApplePayPaymentSessionAsync (line 8) | Task<ApplePayPaymentSessionResponse> RequestApplePayPaymentSessionAsyn...
FILE: src/Mollie.Api/Client/Abstract/IWebhookClient.cs
type IWebhookClient (line 10) | public interface IWebhookClient : IBaseMollieClient {
method CreateWebhookAsync (line 11) | Task<WebhookResponse> CreateWebhookAsync(WebhookRequest request, Cance...
method GetWebhookListAsync (line 13) | Task<ListResponse<WebhookResponse>> GetWebhookListAsync(string? from =...
method GetWebhookListAsync (line 16) | Task<ListResponse<WebhookResponse>> GetWebhookListAsync(
method GetWebhookAsync (line 19) | Task<WebhookResponse> GetWebhookAsync(string webhookId, bool testmode ...
method UpdateWebhookAsync (line 22) | Task<WebhookResponse> UpdateWebhookAsync(string webhookId, WebhookRequ...
method DeleteWebhookAsync (line 24) | Task DeleteWebhookAsync(string webhookId, bool testmode = false, Cance...
method TestWebhookAsync (line 26) | Task TestWebhookAsync(string webhookId, bool testmode = false, Cancell...
FILE: src/Mollie.Api/Client/Abstract/IWebhookEventClient.cs
type IWebhookEventClient (line 8) | public interface IWebhookEventClient : IBaseMollieClient {
method GetWebhookEventAsync (line 9) | Task<FullWebhookEventResponse<T>> GetWebhookEventAsync<T>(string webho...
method GetWebhookEventAsync (line 12) | Task<FullWebhookEventResponse> GetWebhookEventAsync(string webhookEven...
FILE: src/Mollie.Api/Client/BalanceClient.cs
class BalanceClient (line 18) | public class BalanceClient : BaseMollieClient, IBalanceClient {
method BalanceClient (line 19) | public BalanceClient(string apiKey, HttpClient? httpClient = null) : b...
method BalanceClient (line 22) | [ActivatorUtilitiesConstructor]
method GetBalanceAsync (line 27) | public async Task<BalanceResponse> GetBalanceAsync(string balanceId, C...
method GetBalanceAsync (line 33) | public async Task<BalanceResponse> GetBalanceAsync(UrlObjectLink<Balan...
method GetPrimaryBalanceAsync (line 37) | public async Task<BalanceResponse> GetPrimaryBalanceAsync(Cancellation...
method GetBalanceListAsync (line 42) | public async Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
method GetBalanceListAsync (line 50) | public async Task<ListResponse<BalanceResponse>> GetBalanceListAsync(
method GetBalanceReportAsync (line 55) | public async Task<BalanceReportResponse> GetBalanceReportAsync(
method GetPrimaryBalanceReportAsync (line 64) | public async Task<BalanceReportResponse> GetPrimaryBalanceReportAsync(
method GetBalanceTransactionListAsync (line 72) | public async Task<ListResponse<BalanceTransactionResponse>> GetBalance...
method GetPrimaryBalanceTransactionListAsync (line 80) | public async Task<ListResponse<BalanceTransactionResponse>> GetPrimary...
method GetBalanceTransactionListAsync (line 87) | public async Task<ListResponse<BalanceTransactionResponse>> GetBalance...
method BuildGetBalanceReportQueryParameters (line 92) | private Dictionary<string, string> BuildGetBalanceReportQueryParameter...
method BuildListBalanceQueryParameters (line 100) | private Dictionary<string, string> BuildListBalanceQueryParameters(str...
FILE: src/Mollie.Api/Client/BalanceTransferClient.cs
class BalanceTransferClient (line 16) | public class BalanceTransferClient : BaseMollieClient, IBalanceTransferC...
method BalanceTransferClient (line 17) | public BalanceTransferClient(string oauthAccessToken, HttpClient? http...
method BalanceTransferClient (line 22) | [ActivatorUtilitiesConstructor]
method CreateBalanceTransferAsync (line 28) | public async Task<BalanceTransferResponse> CreateBalanceTransferAsync(
method GetBalanceTransferListAsync (line 35) | public async Task<ListResponse<BalanceTransferResponse>> GetBalanceTra...
method GetBalanceTransferAsync (line 43) | public async Task<BalanceTransferResponse> GetBalanceTransferAsync(
FILE: src/Mollie.Api/Client/BaseMollieClient.cs
class BaseMollieClient (line 23) | public abstract class BaseMollieClient : IBaseMollieClient {
method BaseMollieClient (line 36) | protected BaseMollieClient(string apiKey, HttpClient? httpClient = nul...
method BaseMollieClient (line 50) | protected BaseMollieClient(MollieClientOptions options, IMollieSecretM...
method BaseMollieClient (line 59) | protected BaseMollieClient(HttpClient? httpClient = null, string apiEn...
method WithIdempotencyKey (line 70) | public IDisposable WithIdempotencyKey(string value) {
method SendHttpRequest (line 75) | private async Task<T> SendHttpRequest<T>(
method GetListAsync (line 96) | protected async Task<T> GetListAsync<T>(
method GetAsync (line 103) | protected async Task<T> GetAsync<T>(string relativeUri, CancellationTo...
method GetAsync (line 108) | protected async Task<T> GetAsync<T>(UrlObjectLink<T> urlObject, Cancel...
method PostAsync (line 114) | protected async Task<T> PostAsync<T>(
method PatchAsync (line 120) | protected async Task<T> PatchAsync<T>(string relativeUri, object? data...
method DeleteAsync (line 125) | protected async Task DeleteAsync(string relativeUri, object? data = nu...
method ProcessHttpResponseMessage (line 130) | private async Task<T> ProcessHttpResponseMessage<T>(HttpResponseMessag...
method ValidateApiKeyIsOauthAccesstoken (line 142) | protected void ValidateApiKeyIsOauthAccesstoken(bool isConstructor = f...
method ValidateUrlLink (line 155) | private void ValidateUrlLink(UrlLink urlObject) {
method CreateHttpRequest (line 167) | protected virtual HttpRequestMessage CreateHttpRequest(HttpMethod meth...
method BuildListQueryString (line 179) | private string BuildListQueryString(string? from, int? limit, IDiction...
method GetUserAgent (line 193) | private string GetUserAgent() {
method ParseMollieErrorMessage (line 205) | private MollieErrorMessage ParseMollieErrorMessage(HttpStatusCode resp...
method ValidateRequiredUrlParameter (line 218) | protected void ValidateRequiredUrlParameter(string parameterName, stri...
method BuildQueryParameters (line 224) | protected Dictionary<string, string> BuildQueryParameters(
method CreateTestmodeModel (line 233) | protected TestmodeModel? CreateTestmodeModel(bool testmode) {
method Dispose (line 237) | public void Dispose() {
FILE: src/Mollie.Api/Client/CapabilityClient.cs
class CapabilityClient (line 13) | public class CapabilityClient : BaseMollieClient, ICapabilityClient {
method CapabilityClient (line 14) | public CapabilityClient(string oauthAccessToken, HttpClient? httpClien...
method CapabilityClient (line 19) | [ActivatorUtilitiesConstructor]
method GetCapabilitiesListAsync (line 25) | public async Task<ListResponse<CapabilityResponse>> GetCapabilitiesLis...
FILE: src/Mollie.Api/Client/CaptureClient.cs
class CaptureClient (line 17) | public class CaptureClient : BaseMollieClient, ICaptureClient {
method CaptureClient (line 18) | public CaptureClient(string apiKey, HttpClient? httpClient = null) : b...
method CaptureClient (line 21) | [ActivatorUtilitiesConstructor]
method GetCaptureAsync (line 26) | public async Task<CaptureResponse> GetCaptureAsync(
method GetCaptureAsync (line 36) | public async Task<CaptureResponse> GetCaptureAsync(
method GetCaptureListAsync (line 42) | public async Task<ListResponse<CaptureResponse>> GetCaptureListAsync(
method GetCaptureListAsync (line 52) | public async Task<ListResponse<CaptureResponse>> GetCaptureListAsync(U...
method CreateCapture (line 57) | public async Task<CaptureResponse> CreateCapture(string paymentId, Cap...
FILE: src/Mollie.Api/Client/ChargebackClient.cs
class ChargebackClient (line 15) | public class ChargebackClient : BaseMollieClient, IChargebackClient {
method ChargebackClient (line 16) | public ChargebackClient(string apiKey, HttpClient? httpClient = null) ...
method ChargebackClient (line 19) | [ActivatorUtilitiesConstructor]
method GetChargebackAsync (line 24) | public async Task<ChargebackResponse> GetChargebackAsync(string paymen...
method GetChargebackListAsync (line 34) | public async Task<ListResponse<ChargebackResponse>> GetChargebackListA...
method GetChargebackListAsync (line 42) | public async Task<ListResponse<ChargebackResponse>> GetChargebackListA...
method GetChargebackListAsync (line 49) | public async Task<ListResponse<ChargebackResponse>> GetChargebackListA...
FILE: src/Mollie.Api/Client/ClientClient.cs
class ClientClient (line 14) | public class ClientClient : OauthBaseMollieClient, IClientClient {
method ClientClient (line 15) | public ClientClient(string oauthAccessToken, HttpClient? httpClient = ...
method ClientClient (line 20) | [ActivatorUtilitiesConstructor]
method GetClientAsync (line 26) | public async Task<ClientResponse> GetClientAsync(
method GetClientListAsync (line 40) | public async Task<ListResponse<ClientResponse>> GetClientListAsync(
method BuildQueryParameters (line 53) | private Dictionary<string, string> BuildQueryParameters(
method BuildEmbedParameter (line 60) | private string BuildEmbedParameter(
FILE: src/Mollie.Api/Client/ClientLinkClient.cs
class ClientLinkClient (line 15) | public class ClientLinkClient : OauthBaseMollieClient, IClientLinkClient
method ClientLinkClient (line 19) | public ClientLinkClient(string clientId, string oauthAccessToken, Http...
method ClientLinkClient (line 25) | [ActivatorUtilitiesConstructor]
method CreateClientLinkAsync (line 35) | public async Task<ClientLinkResponse> CreateClientLinkAsync(ClientLink...
method GenerateClientLinkWithParameters (line 42) | public string GenerateClientLinkWithParameters(
FILE: src/Mollie.Api/Client/ConnectClient.cs
class ConnectClient (line 16) | public class ConnectClient : BaseMollieClient, IConnectClient {
method ConnectClient (line 26) | public ConnectClient(string? clientId, string? clientSecret, HttpClien...
method ConnectClient (line 42) | [ActivatorUtilitiesConstructor]
method GetAuthorizationUrl (line 59) | public string GetAuthorizationUrl(
method GetAccessTokenAsync (line 81) | public async Task<TokenResponse> GetAccessTokenAsync(
method RevokeTokenAsync (line 88) | public async Task RevokeTokenAsync(
method CreateHttpRequest (line 95) | protected override HttpRequestMessage CreateHttpRequest(
method Base64Encode (line 105) | private string Base64Encode(string value) {
FILE: src/Mollie.Api/Client/CustomerClient.cs
class CustomerClient (line 19) | public class CustomerClient : BaseMollieClient, ICustomerClient {
method CustomerClient (line 20) | public CustomerClient(string apiKey, HttpClient? httpClient = null) : ...
method CustomerClient (line 23) | [ActivatorUtilitiesConstructor]
method CreateCustomerAsync (line 28) | public async Task<CustomerResponse> CreateCustomerAsync(
method UpdateCustomerAsync (line 35) | public async Task<CustomerResponse> UpdateCustomerAsync(
method DeleteCustomerAsync (line 43) | public async Task DeleteCustomerAsync(
method GetCustomerAsync (line 52) | public async Task<CustomerResponse> GetCustomerAsync(
method GetCustomerAsync (line 61) | public async Task<CustomerResponse> GetCustomerAsync(UrlObjectLink<Cus...
method GetCustomerListAsync (line 65) | public async Task<ListResponse<CustomerResponse>> GetCustomerListAsync...
method GetCustomerListAsync (line 69) | public async Task<ListResponse<CustomerResponse>> GetCustomerListAsync(
method GetCustomerPaymentListAsync (line 77) | public async Task<ListResponse<PaymentResponse>> GetCustomerPaymentLis...
method CreateCustomerPayment (line 86) | public async Task<PaymentResponse> CreateCustomerPayment(
FILE: src/Mollie.Api/Client/InvoiceClient.cs
class InvoiceClient (line 16) | public class InvoiceClient : OauthBaseMollieClient, IInvoiceClient {
method InvoiceClient (line 17) | public InvoiceClient(string oauthAccessToken, HttpClient? httpClient =...
method InvoiceClient (line 20) | [ActivatorUtilitiesConstructor]
method GetInvoiceAsync (line 25) | public async Task<InvoiceResponse> GetInvoiceAsync(
method GetInvoiceAsync (line 33) | public async Task<InvoiceResponse> GetInvoiceAsync(
method GetInvoiceListAsync (line 39) | public async Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(
method GetInvoiceListAsync (line 50) | public async Task<ListResponse<InvoiceResponse>> GetInvoiceListAsync(
FILE: src/Mollie.Api/Client/MandateClient.cs
class MandateClient (line 17) | public class MandateClient : BaseMollieClient, IMandateClient {
method MandateClient (line 18) | public MandateClient(string apiKey, HttpClient? httpClient = null) : b...
method MandateClient (line 21) | [ActivatorUtilitiesConstructor]
method GetMandateAsync (line 26) | public async Task<MandateResponse> GetMandateAsync(
method GetMandateListAsync (line 36) | public async Task<ListResponse<MandateResponse>> GetMandateListAsync(
method CreateMandateAsync (line 45) | public async Task<MandateResponse> CreateMandateAsync(
method GetMandateListAsync (line 53) | public async Task<ListResponse<MandateResponse>> GetMandateListAsync(
method GetMandateAsync (line 59) | public async Task<MandateResponse> GetMandateAsync(
method RevokeMandate (line 65) | public async Task RevokeMandate(
FILE: src/Mollie.Api/Client/MollieApiException.cs
class MollieApiException (line 5) | public class MollieApiException : Exception {
method MollieApiException (line 8) | public MollieApiException(MollieErrorMessage details) : base(details.T...
FILE: src/Mollie.Api/Client/OauthBaseMollieClient.cs
class OauthBaseMollieClient (line 7) | public class OauthBaseMollieClient : BaseMollieClient {
method OauthBaseMollieClient (line 8) | protected OauthBaseMollieClient(string oauthAccessToken, HttpClient? h...
method OauthBaseMollieClient (line 13) | protected OauthBaseMollieClient(MollieClientOptions options, IMollieSe...
method ValidateApiKeyIsOauthAccesstoken (line 18) | private void ValidateApiKeyIsOauthAccesstoken(string oauthAccessToken) {
FILE: src/Mollie.Api/Client/OnboardingClient.cs
class OnboardingClient (line 12) | public class OnboardingClient : BaseMollieClient, IOnboardingClient {
method OnboardingClient (line 13) | public OnboardingClient(string apiKey, HttpClient? httpClient = null) ...
method OnboardingClient (line 16) | [ActivatorUtilitiesConstructor]
method GetOnboardingStatusAsync (line 21) | public async Task<OnboardingStatusResponse> GetOnboardingStatusAsync(
method SubmitOnboardingDataAsync (line 28) | public async Task SubmitOnboardingDataAsync(
FILE: src/Mollie.Api/Client/OrderClient.cs
class OrderClient (line 20) | [Obsolete("Mollie no longer recommends using the Orders API. Please refe...
method OrderClient (line 22) | public OrderClient(string apiKey, HttpClient? httpClient = null) : bas...
method OrderClient (line 25) | [ActivatorUtilitiesConstructor]
method CreateOrderAsync (line 30) | public async Task<OrderResponse> CreateOrderAsync(
method GetOrderAsync (line 37) | public async Task<OrderResponse> GetOrderAsync(
method GetOrderAsync (line 48) | public async Task<OrderResponse> GetOrderAsync(
method UpdateOrderAsync (line 54) | public async Task<OrderResponse> UpdateOrderAsync(
method UpdateOrderLinesAsync (line 62) | public async Task<OrderResponse> UpdateOrderLinesAsync(
method ManageOrderLinesAsync (line 71) | public async Task<OrderResponse> ManageOrderLinesAsync(
method CancelOrderAsync (line 79) | public async Task CancelOrderAsync(
method GetOrderListAsync (line 88) | public async Task<ListResponse<OrderResponse>> GetOrderListAsync(
method GetOrderListAsync (line 96) | public async Task<ListResponse<OrderResponse>> GetOrderListAsync(
method CancelOrderLinesAsync (line 102) | public async Task CancelOrderLinesAsync(
method CreateOrderPaymentAsync (line 109) | public async Task<PaymentResponse> CreateOrderPaymentAsync(
method BuildEmbedParameter (line 117) | private string BuildEmbedParameter(bool embedPayments = false, bool em...
FILE: src/Mollie.Api/Client/OrganizationClient.cs
class OrganizationClient (line 13) | public class OrganizationClient : OauthBaseMollieClient, IOrganizationCl...
method OrganizationClient (line 14) | public OrganizationClient(string oauthAccessToken, HttpClient? httpCli...
method OrganizationClient (line 17) | [ActivatorUtilitiesConstructor]
method GetCurrentOrganizationAsync (line 22) | public async Task<OrganizationResponse> GetCurrentOrganizationAsync(Ca...
method GetOrganizationAsync (line 26) | public async Task<OrganizationResponse> GetOrganizationAsync(string or...
method GetOrganizationAsync (line 31) | public async Task<OrganizationResponse> GetOrganizationAsync(UrlObject...
method GetOrganizationListAsync (line 35) | public async Task<ListResponse<OrganizationResponse>> GetOrganizationL...
method GetOrganizationListAsync (line 39) | public async Task<ListResponse<OrganizationResponse>> GetOrganizationL...
method GetPartnerStatusAsync (line 43) | public async Task<PartnerResponse> GetPartnerStatusAsync(CancellationT...
FILE: src/Mollie.Api/Client/PaymentClient.cs
class PaymentClient (line 17) | public class PaymentClient : BaseMollieClient, IPaymentClient {
method PaymentClient (line 19) | public PaymentClient(string apiKey, HttpClient? httpClient = null) : b...
method PaymentClient (line 21) | [ActivatorUtilitiesConstructor]
method CreatePaymentAsync (line 26) | public async Task<PaymentResponse> CreatePaymentAsync(
method GetPaymentAsync (line 43) | public async Task<PaymentResponse> GetPaymentAsync(
method CancelPaymentAsync (line 70) | public async Task CancelPaymentAsync(
method ReleasePaymentAuthorization (line 83) | public async Task ReleasePaymentAuthorization(
method GetPaymentAsync (line 94) | public async Task<PaymentResponse> GetPaymentAsync(
method GetPaymentListAsync (line 100) | public async Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
method GetPaymentListAsync (line 106) | public async Task<ListResponse<PaymentResponse>> GetPaymentListAsync(
method UpdatePaymentAsync (line 137) | public async Task<PaymentResponse> UpdatePaymentAsync(
method BuildQueryParameters (line 149) | private Dictionary<string, string> BuildQueryParameters(
method BuildIncludeParameter (line 165) | private string BuildIncludeParameter(bool includeQrCode = false, bool ...
method BuildEmbedParameter (line 172) | private string BuildEmbedParameter(bool embedRefunds = false, bool emb...
FILE: src/Mollie.Api/Client/PaymentLinkClient.cs
class PaymentLinkClient (line 18) | public class PaymentLinkClient : BaseMollieClient, IPaymentLinkClient {
method PaymentLinkClient (line 19) | public PaymentLinkClient(string apiKey, HttpClient? httpClient = null)...
method PaymentLinkClient (line 21) | [ActivatorUtilitiesConstructor]
method CreatePaymentLinkAsync (line 27) | public async Task<PaymentLinkResponse> CreatePaymentLinkAsync(
method UpdatePaymentLinkAsync (line 40) | public async Task<PaymentLinkResponse> UpdatePaymentLinkAsync(
method DeletePaymentLinkAsync (line 57) | public async Task DeletePaymentLinkAsync(
method GetPaymentLinkAsync (line 72) | public async Task<PaymentLinkResponse> GetPaymentLinkAsync(
method GetPaymentLinkAsync (line 89) | public async Task<PaymentLinkResponse> GetPaymentLinkAsync(
method GetPaymentLinkListAsync (line 95) | public async Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkLis...
method GetPaymentLinkListAsync (line 101) | public async Task<ListResponse<PaymentLinkResponse>> GetPaymentLinkLis...
method GetPaymentLinkPaymentListAsync (line 123) | public async Task<ListResponse<PaymentResponse>> GetPaymentLinkPayment...
FILE: src/Mollie.Api/Client/PaymentMethodClient.cs
class PaymentMethodClient (line 18) | public class PaymentMethodClient : BaseMollieClient, IPaymentMethodClient
method PaymentMethodClient (line 20) | public PaymentMethodClient(string apiKey, HttpClient? httpClient = nul...
method PaymentMethodClient (line 23) | [ActivatorUtilitiesConstructor]
method GetPaymentMethodAsync (line 28) | public async Task<PaymentMethodResponse> GetPaymentMethodAsync(
method GetAllPaymentMethodListAsync (line 51) | public async Task<ListResponse<PaymentMethodResponse>> GetAllPaymentMe...
method GetPaymentMethodListAsync (line 73) | public async Task<ListResponse<PaymentMethodResponse>> GetPaymentMetho...
method GetPaymentMethodAsync (line 101) | public async Task<PaymentMethodResponse> GetPaymentMethodAsync(
method BuildQueryParameters (line 107) | private Dictionary<string, string> BuildQueryParameters(
method BuildIncludeParameter (line 133) | private string BuildIncludeParameter(bool includeIssuers = false, bool...
FILE: src/Mollie.Api/Client/PermissionClient.cs
class PermissionClient (line 13) | public class PermissionClient : OauthBaseMollieClient, IPermissionClient {
method PermissionClient (line 14) | public PermissionClient(string oauthAccessToken, HttpClient? httpClien...
method PermissionClient (line 17) | [ActivatorUtilitiesConstructor]
method GetPermissionAsync (line 22) | public async Task<PermissionResponse> GetPermissionAsync(
method GetPermissionAsync (line 30) | public async Task<PermissionResponse> GetPermissionAsync(
method GetPermissionListAsync (line 36) | public async Task<ListResponse<PermissionResponse>> GetPermissionListA...
FILE: src/Mollie.Api/Client/ProfileClient.cs
class ProfileClient (line 15) | public class ProfileClient : BaseMollieClient, IProfileClient {
method ProfileClient (line 16) | public ProfileClient(string apiKey, HttpClient? httpClient = null) : b...
method ProfileClient (line 19) | [ActivatorUtilitiesConstructor]
method CreateProfileAsync (line 24) | public async Task<ProfileResponse> CreateProfileAsync(
method GetProfileAsync (line 31) | public async Task<ProfileResponse> GetProfileAsync(
method GetProfileAsync (line 39) | public async Task<ProfileResponse> GetProfileAsync(
method GetCurrentProfileAsync (line 45) | public async Task<ProfileResponse> GetCurrentProfileAsync(Cancellation...
method GetProfileListAsync (line 51) | public async Task<ListResponse<ProfileResponse>> GetProfileListAsync(
method GetProfileListAsync (line 58) | public async Task<ListResponse<ProfileResponse>> GetProfileListAsync(
method UpdateProfileAsync (line 64) | public async Task<ProfileResponse> UpdateProfileAsync(
method EnablePaymentMethodAsync (line 72) | public async Task<PaymentMethodResponse> EnablePaymentMethodAsync(
method EnablePaymentMethodAsync (line 81) | public async Task<PaymentMethodResponse> EnablePaymentMethodAsync(
method DisablePaymentMethodAsync (line 89) | public async Task DisablePaymentMethodAsync(
method DisablePaymentMethodAsync (line 97) | public async Task DisablePaymentMethodAsync(string paymentMethod, Canc...
method DeleteProfileAsync (line 103) | public async Task DeleteProfileAsync(string profileId, CancellationTok...
method EnableGiftCardIssuerAsync (line 109) | public async Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAs...
method EnableGiftCardIssuerAsync (line 118) | public async Task<EnableGiftCardIssuerResponse> EnableGiftCardIssuerAs...
method DisableGiftCardIssuerAsync (line 126) | public async Task DisableGiftCardIssuerAsync(
method DisableGiftCardIssuerAsync (line 135) | public async Task DisableGiftCardIssuerAsync(
FILE: src/Mollie.Api/Client/RefundClient.cs
class RefundClient (line 18) | public class RefundClient : BaseMollieClient, IRefundClient {
method RefundClient (line 19) | public RefundClient(string apiKey, HttpClient? httpClient = null) : ba...
method RefundClient (line 22) | [ActivatorUtilitiesConstructor]
method CreatePaymentRefundAsync (line 27) | public async Task<RefundResponse> CreatePaymentRefundAsync(
method GetRefundListAsync (line 41) | public async Task<ListResponse<RefundResponse>> GetRefundListAsync(
method GetPaymentRefundListAsync (line 50) | public async Task<ListResponse<RefundResponse>> GetPaymentRefundListAs...
method GetRefundListAsync (line 60) | public async Task<ListResponse<RefundResponse>> GetRefundListAsync(Url...
method GetRefundAsync (line 65) | public async Task<RefundResponse> GetRefundAsync(UrlObjectLink<RefundR...
method GetPaymentRefundAsync (line 69) | public async Task<RefundResponse> GetPaymentRefundAsync(
method CancelPaymentRefundAsync (line 79) | public async Task CancelPaymentRefundAsync(
method CreateOrderRefundAsync (line 88) | public async Task<OrderRefundResponse> CreateOrderRefundAsync(
method GetOrderRefundListAsync (line 96) | public async Task<ListResponse<RefundResponse>> GetOrderRefundListAsync(
FILE: src/Mollie.Api/Client/SalesInvoiceClient.cs
class SalesInvoiceClient (line 17) | public class SalesInvoiceClient : BaseMollieClient, ISalesInvoiceClient {
method SalesInvoiceClient (line 18) | public SalesInvoiceClient(string apiKey, HttpClient? httpClient = null)
method SalesInvoiceClient (line 21) | [ActivatorUtilitiesConstructor]
method CreateSalesInvoiceAsync (line 26) | public async Task<SalesInvoiceResponse> CreateSalesInvoiceAsync(
method GetSalesInvoiceListAsync (line 32) | public async Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceL...
method GetSalesInvoiceListAsync (line 39) | public async Task<ListResponse<SalesInvoiceResponse>> GetSalesInvoiceL...
method GetSalesInvoiceAsync (line 44) | public async Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
method GetSalesInvoiceAsync (line 52) | public async Task<SalesInvoiceResponse> GetSalesInvoiceAsync(
method UpdateSalesInvoiceAsync (line 57) | public async Task<SalesInvoiceResponse> UpdateSalesInvoiceAsync(
method DeleteSalesInvoiceAsync (line 64) | public async Task DeleteSalesInvoiceAsync(string salesInvoiceId, bool ...
FILE: src/Mollie.Api/Client/SessionClient.cs
class SessionClient (line 13) | public class SessionClient : BaseMollieClient, ISessionClient {
method SessionClient (line 14) | public SessionClient(string apiKey, HttpClient? httpClient = null) : b...
method SessionClient (line 17) | [ActivatorUtilitiesConstructor]
method GetSessionAsync (line 22) | public async Task<SessionResponse> GetSessionAsync(
method CreateSessionAsync (line 32) | public async Task<SessionResponse> CreateSessionAsync(
FILE: src/Mollie.Api/Client/SettlementClient.cs
class SettlementClient (line 17) | public class SettlementClient : BaseMollieClient, ISettlementClient {
method SettlementClient (line 18) | public SettlementClient(string oauthAccessToken, HttpClient? httpClien...
method SettlementClient (line 21) | [ActivatorUtilitiesConstructor]
method GetSettlementAsync (line 26) | public async Task<SettlementResponse> GetSettlementAsync(
method GetNextSettlement (line 34) | public async Task<SettlementResponse> GetNextSettlement(CancellationTo...
method GetOpenSettlement (line 40) | public async Task<SettlementResponse> GetOpenSettlement(CancellationTo...
method GetSettlementListAsync (line 46) | public async Task<ListResponse<SettlementResponse>> GetSettlementListA...
method GetSettlementListAsync (line 54) | public async Task<ListResponse<SettlementResponse>> GetSettlementListA...
method GetSettlementPaymentListAsync (line 60) | public async Task<ListResponse<PaymentResponse>> GetSettlementPaymentL...
method GetSettlementPaymentListAsync (line 68) | public async Task<ListResponse<PaymentResponse>> GetSettlementPaymentL...
method GetSettlementRefundListAsync (line 73) | public async Task<ListResponse<RefundResponse>> GetSettlementRefundLis...
method GetSettlementRefundListAsync (line 81) | public async Task<ListResponse<RefundResponse>> GetSettlementRefundLis...
method GetSettlementChargebackListAsync (line 87) | public async Task<ListResponse<ChargebackResponse>> GetSettlementCharg...
method GetSettlementChargebackListAsync (line 95) | public async Task<ListResponse<ChargebackResponse>> GetSettlementCharg...
method GetSettlementCaptureListAsync (line 101) | public async Task<ListResponse<CaptureResponse>> GetSettlementCaptureL...
method GetSettlementCaptureListAsync (line 109) | public async Task<ListResponse<CaptureResponse>> GetSettlementCaptureL...
method GetSettlementAsync (line 115) | public async Task<SettlementResponse> GetSettlementAsync(
FILE: src/Mollie.Api/Client/ShipmentClient.cs
class ShipmentClient (line 17) | public class ShipmentClient : BaseMollieClient, IShipmentClient {
method ShipmentClient (line 18) | public ShipmentClient(string apiKey, HttpClient? httpClient = null) : ...
method ShipmentClient (line 21) | [ActivatorUtilitiesConstructor]
method CreateShipmentAsync (line 26) | public async Task<ShipmentResponse> CreateShipmentAsync(
method GetShipmentAsync (line 34) | public async Task<ShipmentResponse> GetShipmentAsync(
method GetShipmentAsync (line 45) | public async Task<ShipmentResponse> GetShipmentAsync(
method GetShipmentListAsync (line 50) | public async Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(
method GetShipmentListAsync (line 60) | public async Task<ListResponse<ShipmentResponse>> GetShipmentListAsync(
method UpdateShipmentAsync (line 66) | public async Task<ShipmentResponse> UpdateShipmentAsync(
FILE: src/Mollie.Api/Client/SubscriptionClient.cs
class SubscriptionClient (line 18) | public class SubscriptionClient : BaseMollieClient, ISubscriptionClient {
method SubscriptionClient (line 19) | public SubscriptionClient(string apiKey, HttpClient? httpClient = null...
method SubscriptionClient (line 22) | [ActivatorUtilitiesConstructor]
method GetSubscriptionListAsync (line 27) | public async Task<ListResponse<SubscriptionResponse>> GetSubscriptionL...
method GetAllSubscriptionList (line 37) | public async Task<ListResponse<SubscriptionResponse>> GetAllSubscripti...
method GetSubscriptionListAsync (line 45) | public async Task<ListResponse<SubscriptionResponse>> GetSubscriptionL...
method GetSubscriptionAsync (line 51) | public async Task<SubscriptionResponse> GetSubscriptionAsync(
method GetSubscriptionAsync (line 57) | public async Task<SubscriptionResponse> GetSubscriptionAsync(
method CreateSubscriptionAsync (line 68) | public async Task<SubscriptionResponse> CreateSubscriptionAsync(
method CancelSubscriptionAsync (line 77) | public async Task CancelSubscriptionAsync(
method UpdateSubscriptionAsync (line 88) | public async Task<SubscriptionResponse> UpdateSubscriptionAsync(
method GetSubscriptionPaymentListAsync (line 98) | public async Task<ListResponse<PaymentResponse>> GetSubscriptionPaymen...
FILE: src/Mollie.Api/Client/TerminalClient.cs
class TerminalClient (line 15) | public class TerminalClient : BaseMollieClient, ITerminalClient
method TerminalClient (line 17) | public TerminalClient(string apiKey, HttpClient? httpClient = null) : ...
method TerminalClient (line 19) | [ActivatorUtilitiesConstructor]
method GetTerminalAsync (line 24) | public async Task<TerminalResponse> GetTerminalAsync(
method GetTerminalAsync (line 33) | public async Task<TerminalResponse> GetTerminalAsync(
method GetTerminalListAsync (line 38) | public async Task<ListResponse<TerminalResponse>> GetTerminalListAsync(
method GetTerminalListAsync (line 46) | public async Task<ListResponse<TerminalResponse>> GetTerminalListAsync(
FILE: src/Mollie.Api/Client/WalletClient.cs
class WalletClient (line 12) | public class WalletClient : BaseMollieClient, IWalletClient {
method WalletClient (line 13) | public WalletClient(string apiKey, HttpClient? httpClient = null) : ba...
method WalletClient (line 16) | [ActivatorUtilitiesConstructor]
method RequestApplePayPaymentSessionAsync (line 21) | public async Task<ApplePayPaymentSessionResponse> RequestApplePayPayme...
FILE: src/Mollie.Api/Client/WebhookClient.cs
class WebhookClient (line 17) | public class WebhookClient : BaseMollieClient, IWebhookClient {
method WebhookClient (line 18) | public WebhookClient(string apiKey, HttpClient? httpClient = null) : b...
method WebhookClient (line 21) | [ActivatorUtilitiesConstructor]
method CreateWebhookAsync (line 26) | public async Task<WebhookResponse> CreateWebhookAsync(WebhookRequest r...
method GetWebhookListAsync (line 31) | public async Task<ListResponse<WebhookResponse>> GetWebhookListAsync(s...
method GetWebhookListAsync (line 39) | public async Task<ListResponse<WebhookResponse>> GetWebhookListAsync(
method GetWebhookAsync (line 45) | public async Task<WebhookResponse> GetWebhookAsync(string webhookId, b...
method UpdateWebhookAsync (line 53) | public async Task<WebhookResponse> UpdateWebhookAsync(string webhookId...
method DeleteWebhookAsync (line 60) | public async Task DeleteWebhookAsync(string webhookId, bool testmode =...
method TestWebhookAsync (line 67) | public async Task TestWebhookAsync(string webhookId, bool testmode = f...
FILE: src/Mollie.Api/Client/WebhookEventClient.cs
class WebhookEventClient (line 15) | public class WebhookEventClient : BaseMollieClient, IWebhookEventClient {
method WebhookEventClient (line 16) | public WebhookEventClient(string apiKey, HttpClient? httpClient = null...
method WebhookEventClient (line 19) | [ActivatorUtilitiesConstructor]
method GetWebhookEventAsync (line 24) | public async Task<FullWebhookEventResponse> GetWebhookEventAsync(strin...
method GetWebhookEventAsync (line 34) | public async Task<FullWebhookEventResponse<T>> GetWebhookEventAsync<T>...
method BuildQueryParameters (line 44) | private Dictionary<string, string> BuildQueryParameters(bool testmode ...
FILE: src/Mollie.Api/DependencyInjection.cs
class DependencyInjection (line 12) | public static class DependencyInjection {
method AddMollieApi (line 13) | public static IServiceCollection AddMollieApi(
method RegisterMollieApiClient (line 76) | static void RegisterMollieApiClient<TInterface, TImplementation>(
FILE: src/Mollie.Api/Extensions/DateTimeExtensions.cs
class DateTimeExtensions (line 4) | internal static class DateTimeExtensions {
method Truncate (line 5) | public static DateTime Truncate(this DateTime dateTime, TimeSpan timeS...
FILE: src/Mollie.Api/Extensions/DictionaryExtensions.cs
class DictionaryExtensions (line 6) | internal static class DictionaryExtensions {
method ToQueryString (line 7) | public static string ToQueryString(this IDictionary<string, string> pa...
method AddValueIfNotNullOrEmpty (line 15) | public static void AddValueIfNotNullOrEmpty(this IDictionary<string, s...
method AddValueIfTrue (line 21) | public static void AddValueIfTrue(this IDictionary<string, string> dic...
FILE: src/Mollie.Api/Extensions/HttpClientExtensions.cs
class HttpClientExtensions (line 7) | internal static class HttpClientExtensions {
method PatchAsync (line 8) | public static Task<HttpResponseMessage> PatchAsync(this HttpClient cli...
method PatchAsync (line 12) | public static Task<HttpResponseMessage> PatchAsync(this HttpClient cli...
method PatchAsync (line 16) | public static Task<HttpResponseMessage> PatchAsync(this HttpClient cli...
method PatchAsync (line 20) | public static Task<HttpResponseMessage> PatchAsync(this HttpClient cli...
method CreateUri (line 24) | private static Uri CreateUri(string uri) {
FILE: src/Mollie.Api/Extensions/ListExtensions.cs
class ListExtensions (line 3) | internal static class ListExtensions {
method ToIncludeParameter (line 4) | public static string ToIncludeParameter(this List<string> includeList) {
method AddValueIfTrue (line 8) | public static void AddValueIfTrue(this List<string> list, string value...
FILE: src/Mollie.Api/Framework/Authentication/Abstract/IMollieSecretManager.cs
type IMollieSecretManager (line 3) | public interface IMollieSecretManager {
method GetBearerToken (line 4) | public string GetBearerToken();
FILE: src/Mollie.Api/Framework/Authentication/DefaultMollieSecretManager.cs
class DefaultMollieSecretManager (line 4) | public class DefaultMollieSecretManager(string apiKey) : IMollieSecretMa...
method GetBearerToken (line 5) | public string GetBearerToken() => apiKey;
FILE: src/Mollie.Api/Framework/Factories/BalanceReportResponseFactory.cs
class BalanceReportResponseFactory (line 7) | internal class BalanceReportResponseFactory : ITypeFactory<BalanceReport...
method Create (line 8) | public BalanceReportResponse Create(string? reportGrouping) {
FILE: src/Mollie.Api/Framework/Factories/BalanceTransactionFactory.cs
class BalanceTransactionFactory (line 6) | internal class BalanceTransactionFactory : ITypeFactory<BalanceTransacti...
method Create (line 7) | public BalanceTransactionResponse Create(string? type) {
FILE: src/Mollie.Api/Framework/Factories/ITypeFactory.cs
type ITypeFactory (line 3) | internal interface ITypeFactory<T> {
method Create (line 4) | T Create(string? type);
FILE: src/Mollie.Api/Framework/Factories/MandateResponseFactory.cs
class MandateResponseFactory (line 8) | internal class MandateResponseFactory : ITypeFactory<MandateResponse> {
method Create (line 9) | public MandateResponse Create(string? paymentMethod) {
FILE: src/Mollie.Api/Framework/Factories/PaymentResponseFactory.cs
class PaymentResponseFactory (line 7) | internal class PaymentResponseFactory : ITypeFactory<PaymentResponse> {
method Create (line 8) | public PaymentResponse Create(string? paymentMethod) {
FILE: src/Mollie.Api/Framework/Idempotency/AsyncLocalVariable.cs
class AsyncLocalVariable (line 6) | internal class AsyncLocalVariable<T> : IDisposable where T : class
method AsyncLocalVariable (line 16) | public AsyncLocalVariable(T? value)
method Dispose (line 21) | public void Dispose()
FILE: src/Mollie.Api/Framework/JsonConverterService.cs
class JsonConverterService (line 14) | internal class JsonConverterService
method JsonConverterService (line 18) | public JsonConverterService()
method Serialize (line 23) | public string Serialize(object objectToSerialize)
method Deserialize (line 38) | public T? Deserialize<T>(string json)
method Deserialize (line 43) | public object? Deserialize(string json, Type type)
method CreateDefaultJsonDeserializerOptions (line 51) | private JsonSerializerOptions CreateDefaultJsonDeserializerOptions()
FILE: src/Mollie.Api/Framework/MollieHttpRetryPolicies.cs
class MollieHttpRetryPolicies (line 11) | public static class MollieHttpRetryPolicies {
method TransientHttpErrorRetryPolicy (line 16) | public static IAsyncPolicy<HttpResponseMessage> TransientHttpErrorRetr...
FILE: src/Mollie.Api/JsonConverters/CollectionToCommaSeparatedListConverter.cs
class CollectionToCommaSeparatedListConverter (line 8) | internal class CollectionToCommaSeparatedListConverter : JsonConverter<I...
method Read (line 9) | public override IList<string> Read(ref Utf8JsonReader reader, Type typ...
method Write (line 13) | public override void Write(Utf8JsonWriter writer, IList<string> value,...
FILE: src/Mollie.Api/JsonConverters/DateJsonConverter.cs
class DateJsonConverter (line 10) | internal class DateJsonConverter : JsonConverter<DateTime?>
method Read (line 14) | public override DateTime? Read(ref Utf8JsonReader reader, Type typeToC...
method Write (line 28) | public override void Write(Utf8JsonWriter writer, DateTime? value, Jso...
FILE: src/Mollie.Api/JsonConverters/Iso8601DateTimeConverter.cs
class Iso8601DateTimeConverter (line 6) | internal class Iso8601DateTimeConverter : JsonConverter<DateTime>
method Read (line 8) | public override DateTime Read(ref Utf8JsonReader reader, Type typeToCo...
method Write (line 13) | public override void Write(Utf8JsonWriter writer, DateTime value, Json...
FILE: src/Mollie.Api/JsonConverters/ListResponseJsonConverter.cs
class ListResponseConverter (line 8) | internal class ListResponseConverter : JsonConverter<object>
method CanConvert (line 10) | public override bool CanConvert(Type typeToConvert)
method Read (line 16) | public override object? Read(ref Utf8JsonReader reader, Type typeToCon...
method Write (line 40) | public override void Write(Utf8JsonWriter writer, object value, JsonSe...
FILE: src/Mollie.Api/JsonConverters/MicrosecondEpochConverter.cs
class MicrosecondEpochConverter (line 6) | internal class MicrosecondEpochConverter : JsonConverter<DateTime>
method Read (line 8) | public override DateTime Read(ref Utf8JsonReader reader, Type typeToCo...
method Write (line 14) | public override void Write(Utf8JsonWriter writer, DateTime value, Json...
FILE: src/Mollie.Api/JsonConverters/PolymorphicConverter.cs
class PolymorphicConverter (line 8) | internal class PolymorphicConverter<T> : JsonConverter<T> {
method PolymorphicConverter (line 12) | public PolymorphicConverter(ITypeFactory<T> typeFactory, string typeFi...
method Read (line 18) | public override T Read(ref Utf8JsonReader reader, Type typeToConvert, ...
method Write (line 48) | public override void Write(Utf8JsonWriter writer, T value, JsonSeriali...
FILE: src/Mollie.Api/JsonConverters/RawJsonConverter.cs
class RawJsonConverter (line 7) | internal class RawJsonConverter : JsonConverter<string>
method Read (line 9) | public override string? Read(ref Utf8JsonReader reader, Type typeToCon...
method Write (line 24) | public override void Write(Utf8JsonWriter writer, string? value, JsonS...
method IsValidJson (line 42) | private bool IsValidJson(string strInput)
FILE: src/Mollie.Api/JsonConverters/SettlementPeriodConverter.cs
class SettlementPeriodConverter (line 9) | internal class SettlementPeriodConverter : JsonConverter<Dictionary<int,...
method Read (line 10) | public override Dictionary<int, Dictionary<int, SettlementPeriod>>? Re...
method Write (line 35) | public override void Write(Utf8JsonWriter writer, Dictionary<int, Dict...
FILE: src/Mollie.Api/JsonConverters/StringToDecimalConverter.cs
class StringToDecimalConverter (line 7) | internal class StringToDecimalConverter : JsonConverter<decimal> {
method Read (line 8) | public override decimal Read(ref Utf8JsonReader reader, Type typeToCon...
method Write (line 26) | public override void Write(Utf8JsonWriter writer, decimal value, JsonS...
FILE: src/Mollie.Api/JsonConverters/WebhookEventEntityJsonConverter.cs
class WebhookEventEntityJsonConverter (line 24) | internal class WebhookEventEntityJsonConverter : JsonConverter<object> {
method CanConvert (line 25) | public override bool CanConvert(Type typeToConvert)
method Read (line 30) | public override object? Read(ref Utf8JsonReader reader, Type typeToCon...
method Write (line 56) | public override void Write(Utf8JsonWriter writer, object value, JsonSe...
method GetEntityTypeFromJson (line 61) | private Type GetEntityTypeFromJson(JsonProperty entityRoot, Type typeT...
FILE: src/Mollie.Api/Models/AddressObject.cs
type AddressObject (line 2) | public record AddressObject {
FILE: src/Mollie.Api/Models/Amount.cs
type Amount (line 11) | public record Amount {
FILE: src/Mollie.Api/Models/ApplicationFee.cs
type ApplicationFee (line 2) | public record ApplicationFee {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportAmount.cs
type BalanceReportAmount (line 2) | public record BalanceReportAmount {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportAmountWithSubtotals.cs
type BalanceReportAmountWithSubtotals (line 4) | public record BalanceReportAmountWithSubtotals : BalanceReportAmount {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportLinks.cs
type BalanceReportLinks (line 4) | public record BalanceReportLinks {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportResponse.cs
type BalanceReportResponse (line 5) | public record BalanceReportResponse {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportSubtotals.cs
type BalanceReportSubtotals (line 4) | public record BalanceReportSubtotals {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/ReportGrouping.cs
class ReportGrouping (line 2) | public static class ReportGrouping {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalanceAvailableBalance.cs
type StatusBalanceAvailableBalance (line 2) | public record StatusBalanceAvailableBalance {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalanceReportResponse.cs
type StatusBalanceReportResponse (line 2) | public record StatusBalanceReportResponse : BalanceReportResponse {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalancesPendingBalance.cs
type StatusBalancesPendingBalance (line 2) | public record StatusBalancesPendingBalance {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalancesTotal.cs
type StatusBalancesTotal (line 2) | public record StatusBalancesTotal {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesReportResponse.cs
type TransactionCategoriesReportResponse (line 2) | public record TransactionCategoriesReportResponse : BalanceReportResponse {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesSummaryBalances.cs
type TransactionCategoriesSummaryBalances (line 2) | public record TransactionCategoriesSummaryBalances {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesTotal.cs
type TransactionCategoriesTotal (line 4) | public record TransactionCategoriesTotal {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesTransaction.cs
type TransactionCategoriesTransaction (line 2) | public record TransactionCategoriesTransaction {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceResponse.cs
class BalanceResponse (line 5) | public class BalanceResponse : IEntity {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceResponseLinks.cs
class BalanceResponseLinks (line 4) | public class BalanceResponseLinks {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceResponseStatus.cs
type BalanceResponseStatus (line 4) | public enum BalanceResponseStatus {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/BalanceTransactionContextType.cs
class BalanceTransactionContextType (line 2) | public static class BalanceTransactionContextType {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/BalanceTransactionResponse.cs
class BalanceTransactionResponse (line 4) | public class BalanceTransactionResponse {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/CaptureBalanceTransactionResponse.cs
class CaptureBalanceTransactionResponse (line 2) | public class CaptureBalanceTransactionResponse : BalanceTransactionRespo...
class CaptureTransactionContext (line 6) | public class CaptureTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/ChargebackBalanceTransactionResponse.cs
class ChargebackBalanceTransactionResponse (line 2) | public class ChargebackBalanceTransactionResponse : BalanceTransactionRe...
class ChargebackTransactionContext (line 6) | public class ChargebackTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/InvoiceBalanceTransactionResponse.cs
class InvoiceBalanceTransactionResponse (line 2) | public class InvoiceBalanceTransactionResponse : BalanceTransactionRespo...
class InvoiceTransactionContext (line 6) | public class InvoiceTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/PaymentBalanceTransactionResponse.cs
class PaymentBalanceTransactionResponse (line 2) | public class PaymentBalanceTransactionResponse : BalanceTransactionRespo...
class PaymentTransactionContext (line 6) | public class PaymentTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/RefundBalanceTransactionResponse.cs
class RefundBalanceTransactionResponse (line 2) | public class RefundBalanceTransactionResponse : BalanceTransactionRespon...
class RefundTransactionContext (line 6) | public class RefundTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/SettlementBalanceTransactionResponse.cs
class SettlementBalanceTransactionResponse (line 2) | public class SettlementBalanceTransactionResponse : BalanceTransactionRe...
class SettlementTransactionContext (line 6) | public class SettlementTransactionContext {
FILE: src/Mollie.Api/Models/Balance/Response/BalanceTransferDestination.cs
class BalanceTransferDestination (line 2) | public class BalanceTransferDestination {
method ToString (line 18) | public override string ToString() {
FILE: src/Mollie.Api/Models/BalanceTransfer/BalanceTransferParty.cs
type BalanceTransferParty (line 3) | public record BalanceTransferParty {
FILE: src/Mollie.Api/Models/BalanceTransfer/Request/BalanceTransferRequest.cs
type BalanceTransferRequest (line 7) | public record BalanceTransferRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/BalanceTransfer/Response/BalanceTransferResponse.cs
type BalanceTransferResponse (line 9) | public record BalanceTransferResponse {
FILE: src/Mollie.Api/Models/BalanceTransfer/Response/BalanceTransferStatusReason.cs
class BalanceTransferStatusReason (line 3) | public class BalanceTransferStatusReason {
FILE: src/Mollie.Api/Models/Capability/CapabilityRequirementStatus.cs
class CapabilityRequirementStatus (line 3) | public static class CapabilityRequirementStatus {
FILE: src/Mollie.Api/Models/Capability/CapabilityStatus.cs
class CapabilityStatus (line 3) | public static class CapabilityStatus {
FILE: src/Mollie.Api/Models/Capability/CapabilityStatusReason.cs
class CapabilityStatusReason (line 3) | public static class CapabilityStatusReason {
FILE: src/Mollie.Api/Models/Capability/Response/CapabilityRequirement.cs
type CapabilityRequirement (line 6) | public record CapabilityRequirement {
FILE: src/Mollie.Api/Models/Capability/Response/CapabilityRequirementLinks.cs
type CapabilityRequirementLinks (line 5) | public record CapabilityRequirementLinks {
FILE: src/Mollie.Api/Models/Capability/Response/CapabilityResponse.cs
type CapabilityResponse (line 5) | public record CapabilityResponse {
FILE: src/Mollie.Api/Models/Capability/Response/CapabilityResponseLinks.cs
type CapabilityResponseLinks (line 5) | public record CapabilityResponseLinks {
FILE: src/Mollie.Api/Models/Capture/CaptureMode.cs
class CaptureMode (line 2) | public static class CaptureMode {
FILE: src/Mollie.Api/Models/Capture/Request/CaptureRequest.cs
type CaptureRequest (line 6) | public record CaptureRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Capture/Response/CaptureResponse.cs
type CaptureResponse (line 7) | public record CaptureResponse : IEntity {
FILE: src/Mollie.Api/Models/Capture/Response/CaptureResponseLinks.cs
type CaptureResponseLinks (line 7) | public record CaptureResponseLinks {
FILE: src/Mollie.Api/Models/Chargeback/Response/ChargebackResponse.cs
type ChargebackResponse (line 5) | public record ChargebackResponse : IEntity {
FILE: src/Mollie.Api/Models/Chargeback/Response/ChargebackResponseLinks.cs
type ChargebackResponseLinks (line 6) | public record ChargebackResponseLinks {
FILE: src/Mollie.Api/Models/Chargeback/Response/ChargebackResponseReason.cs
type ChargebackResponseReason (line 2) | public record ChargebackResponseReason {
FILE: src/Mollie.Api/Models/Client/Response/ClientCommissionResponse.cs
type ClientCommissionResponse (line 2) | public record ClientCommissionResponse {
FILE: src/Mollie.Api/Models/Client/Response/ClientEmbeddedResponse.cs
type ClientEmbeddedResponse (line 6) | public record ClientEmbeddedResponse {
FILE: src/Mollie.Api/Models/Client/Response/ClientResponse.cs
type ClientResponse (line 5) | public record ClientResponse : IEntity {
FILE: src/Mollie.Api/Models/Client/Response/ClientResponseLinks.cs
type ClientResponseLinks (line 6) | public record ClientResponseLinks {
FILE: src/Mollie.Api/Models/ClientLink/Request/ClientLinkOwner.cs
type ClientLinkOwner (line 3) | public record ClientLinkOwner
FILE: src/Mollie.Api/Models/ClientLink/Request/ClientLinkRequest.cs
type ClientLinkRequest (line 3) | public record ClientLinkRequest
FILE: src/Mollie.Api/Models/ClientLink/Response/ClientLinkResponse.cs
type ClientLinkResponse (line 4) | public record ClientLinkResponse : IEntity {
FILE: src/Mollie.Api/Models/ClientLink/Response/ClientLinkResponseLinks.cs
type ClientLinkResponseLinks (line 4) | public record ClientLinkResponseLinks {
FILE: src/Mollie.Api/Models/CompanyEntityType.cs
class CompanyEntityType (line 2) | public static class CompanyEntityType {
FILE: src/Mollie.Api/Models/CompanyObject.cs
type CompanyObject (line 2) | public record CompanyObject {
FILE: src/Mollie.Api/Models/Connect/Request/AppPermissions.cs
class AppPermissions (line 2) | public static class AppPermissions {
FILE: src/Mollie.Api/Models/Connect/Request/RevokeTokenRequest.cs
type RevokeTokenRequest (line 4) | public record RevokeTokenRequest {
FILE: src/Mollie.Api/Models/Connect/Request/TokenRequest.cs
type TokenRequest (line 4) | public record TokenRequest {
FILE: src/Mollie.Api/Models/Connect/Request/TokenType.cs
class TokenType (line 2) | public static class TokenType {
FILE: src/Mollie.Api/Models/Connect/Response/TokenResponse.cs
type TokenResponse (line 4) | public record TokenResponse {
FILE: src/Mollie.Api/Models/Currency.cs
class Currency (line 2) | public static class Currency {
FILE: src/Mollie.Api/Models/Customer/Request/CustomerRequest.cs
type CustomerRequest (line 6) | public record CustomerRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Customer/Response/CustomerResponse.cs
type CustomerResponse (line 7) | public record CustomerResponse : IEntity {
FILE: src/Mollie.Api/Models/Customer/Response/CustomerResponseLinks.cs
type CustomerResponseLinks (line 8) | public record CustomerResponseLinks {
FILE: src/Mollie.Api/Models/Error/MollieErrorMessage.cs
type MollieErrorMessage (line 4) | public record MollieErrorMessage {
FILE: src/Mollie.Api/Models/IEntity.cs
type IEntity (line 3) | public interface IEntity {
FILE: src/Mollie.Api/Models/IProfileRequest.cs
type IProfileRequest (line 3) | public interface IProfileRequest {
FILE: src/Mollie.Api/Models/ITestModeRequest.cs
type ITestModeRequest (line 3) | public interface ITestModeRequest {
FILE: src/Mollie.Api/Models/Invoice/Response/InvoiceLine.cs
type InvoiceLine (line 2) | public record InvoiceLine {
FILE: src/Mollie.Api/Models/Invoice/Response/InvoiceResponse.cs
type InvoiceResponse (line 5) | public record InvoiceResponse : IEntity {
FILE: src/Mollie.Api/Models/Invoice/Response/InvoiceResponseLinks.cs
type InvoiceResponseLinks (line 4) | public record InvoiceResponseLinks {
FILE: src/Mollie.Api/Models/Invoice/Response/InvoiceStatus.cs
class InvoiceStatus (line 2) | public static class InvoiceStatus {
FILE: src/Mollie.Api/Models/Issuer/Response/IssuerResponse.cs
type IssuerResponse (line 2) | public record IssuerResponse : IEntity {
FILE: src/Mollie.Api/Models/Issuer/Response/IssuerResponseImage.cs
type IssuerResponseImage (line 5) | public record IssuerResponseImage {
FILE: src/Mollie.Api/Models/List/Response/ListResponse.cs
type ListResponse (line 6) | public record ListResponse<T> where T : class {
FILE: src/Mollie.Api/Models/List/Response/ListResponseLinks.cs
type ListResponseLinks (line 7) | public record ListResponseLinks<T> where T : class {
FILE: src/Mollie.Api/Models/Mandate/Request/MandateRequest.cs
type MandateRequest (line 7) | public record MandateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Mandate/Request/PaymentSpecificParameters/PayPalMandateRequest.cs
type PayPalMandateRequest (line 3) | public record PayPalMandateRequest : MandateRequest
FILE: src/Mollie.Api/Models/Mandate/Request/PaymentSpecificParameters/SepaDirectDebitMandateRequest.cs
type SepaDirectDebitMandateRequest (line 3) | public record SepaDirectDebitMandateRequest : MandateRequest
FILE: src/Mollie.Api/Models/Mandate/Response/MandateResponse.cs
type MandateResponse (line 5) | public record MandateResponse : IEntity {
FILE: src/Mollie.Api/Models/Mandate/Response/MandateResponseLinks.cs
type MandateResponseLinks (line 5) | public record MandateResponseLinks {
FILE: src/Mollie.Api/Models/Mandate/Response/MandateStatus.cs
class MandateStatus (line 2) | public static class MandateStatus {
FILE: src/Mollie.Api/Models/Mandate/Response/PaymentSpecificParameters/CreditCardMandateResponse.cs
type CreditCardMandateResponse (line 3) | public record CreditCardMandateResponse : MandateResponse {
type CreditCardMandateResponseDetails (line 7) | public record CreditCardMandateResponseDetails {
FILE: src/Mollie.Api/Models/Mandate/Response/PaymentSpecificParameters/PayPalMandateResponse.cs
type PayPalMandateResponse (line 3) | public record PayPalMandateResponse : MandateResponse {
type PayPalMandateResponseDetails (line 7) | public record PayPalMandateResponseDetails {
FILE: src/Mollie.Api/Models/Mandate/Response/PaymentSpecificParameters/SepaDirectDebitMandateResponse.cs
type SepaDirectDebitMandateResponse (line 3) | public record SepaDirectDebitMandateResponse : MandateResponse {
type SepaDirectDebitMandateResponseDetails (line 7) | public record SepaDirectDebitMandateResponseDetails {
FILE: src/Mollie.Api/Models/Mode.cs
type Mode (line 4) | public enum Mode {
FILE: src/Mollie.Api/Models/Onboarding/Request/OnboardingOrganizationRequest.cs
type OnboardingOrganizationRequest (line 5) | public record OnboardingOrganizationRequest {
FILE: src/Mollie.Api/Models/Onboarding/Request/OnboardingProfileRequest.cs
type OnboardingProfileRequest (line 5) | public record OnboardingProfileRequest {
FILE: src/Mollie.Api/Models/Onboarding/Request/SubmitOnboardingDataRequest.cs
type SubmitOnboardingDataRequest (line 2) | public record SubmitOnboardingDataRequest {
FILE: src/Mollie.Api/Models/Onboarding/Response/OnboardingStatus.cs
class OnboardingStatus (line 5) | public static class OnboardingStatus {
FILE: src/Mollie.Api/Models/Onboarding/Response/OnboardingStatusResponse.cs
type OnboardingStatusResponse (line 5) | public record OnboardingStatusResponse {
FILE: src/Mollie.Api/Models/Onboarding/Response/OnboardingStatusResponseLinks.cs
type OnboardingStatusResponseLinks (line 8) | public record OnboardingStatusResponseLinks {
FILE: src/Mollie.Api/Models/Order/OrderAddressDetails.cs
type OrderAddressDetails (line 2) | public record OrderAddressDetails : AddressObject {
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesAddOperation.cs
type ManageOrderLinesAddOperation (line 2) | public record ManageOrderLinesAddOperation : ManageOrderLinesOperation {
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesAddOperationData.cs
type ManageOrderLinesAddOperationData (line 2) | public record ManageOrderLinesAddOperationData : OrderLineRequest;
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesCancelOperation.cs
type ManageOrderLinesCancelOperation (line 2) | public record ManageOrderLinesCancelOperation : ManageOrderLinesOperation {
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesOperation.cs
type ManageOrderLinesOperation (line 4) | [JsonPolymorphic(TypeDiscriminatorPropertyName = "operation")]
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesRequest.cs
type ManageOrderLinesRequest (line 4) | public record ManageOrderLinesRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesUpdateOperation.cs
type ManageOrderLinesUpdateOperation (line 2) | public record ManageOrderLinesUpdateOperation : ManageOrderLinesOperation {
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManageOrderLinesUpdateOperationData.cs
type ManageOrderLinesUpdateOperationData (line 2) | public record ManageOrderLinesUpdateOperationData : OrderLineUpdateReque...
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/ManagerOrderLinesCancelOperationData.cs
type ManagerOrderLinesCancelOperationData (line 2) | public record ManagerOrderLinesCancelOperationData : OrderLineDetails;
FILE: src/Mollie.Api/Models/Order/Request/ManageOrderLines/OrderLineOperation.cs
class OrderLineOperation (line 2) | public static class OrderLineOperation {
FILE: src/Mollie.Api/Models/Order/Request/OrderLineCancellationRequest.cs
type OrderLineCancellationRequest (line 4) | public record OrderLineCancellationRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderLineDetails.cs
type OrderLineDetails (line 2) | public record OrderLineDetails {
FILE: src/Mollie.Api/Models/Order/Request/OrderLineDetailsType.cs
class OrderLineDetailsType (line 2) | public static class OrderLineDetailsType {
FILE: src/Mollie.Api/Models/Order/Request/OrderLineRequest.cs
type OrderLineRequest (line 5) | public record OrderLineRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderLineUpdateRequest.cs
type OrderLineUpdateRequest (line 6) | public record OrderLineUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderPaymentRequest.cs
type OrderPaymentRequest (line 6) | public record OrderPaymentRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderRefundRequest.cs
type OrderRefundRequest (line 6) | public record OrderRefundRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderRequest.cs
type OrderRequest (line 11) | public record OrderRequest : ITestModeRequest, IProfileRequest {
FILE: src/Mollie.Api/Models/Order/Request/OrderUpdateRequest.cs
type OrderUpdateRequest (line 2) | public record OrderUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/ApplePaySpecificParameters.cs
type ApplePaySpecificParameters (line 2) | public record ApplePaySpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/BillieSpecificParameters.cs
type BillieSpecificParameters (line 2) | public record BillieSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/CreditCardSpecificParameters.cs
type CreditCardSpecificParameters (line 2) | public record CreditCardSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/GiftcardSpecificParameters.cs
type GiftcardSpecificParameters (line 2) | public record GiftcardSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/IDealSpecificParameters.cs
type IDealSpecificParameters (line 2) | public record IDealSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/KbcSpecificParameters.cs
type KbcSpecificParameters (line 2) | public record KbcSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/KlarnaSpecificParameters.cs
type KlarnaSpecificParameters (line 2) | public record KlarnaSpecificParameters<T> : OrderPaymentParameters where...
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/OrderPaymentParameters.cs
type OrderPaymentParameters (line 2) | public record OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/PaySafeCardSpecificParameters.cs
type PaySafeCardSpecificParameters (line 2) | public record PaySafeCardSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Request/PaymentSpecificParameters/SepaDirectDebitSpecificParameters.cs
type SepaDirectDebitSpecificParameters (line 2) | public record SepaDirectDebitSpecificParameters : OrderPaymentParameters {
FILE: src/Mollie.Api/Models/Order/Response/OrderEmbeddedResponse.cs
type OrderEmbeddedResponse (line 8) | public record OrderEmbeddedResponse {
FILE: src/Mollie.Api/Models/Order/Response/OrderLineResponse.cs
type OrderLineResponse (line 6) | public record OrderLineResponse {
FILE: src/Mollie.Api/Models/Order/Response/OrderLineResponseLinks.cs
type OrderLineResponseLinks (line 4) | public record OrderLineResponseLinks {
FILE: src/Mollie.Api/Models/Order/Response/OrderLineStatus.cs
class OrderLineStatus (line 2) | public static class OrderLineStatus {
FILE: src/Mollie.Api/Models/Order/Response/OrderRefundResponse.cs
type OrderRefundResponse (line 5) | public record OrderRefundResponse : RefundResponse {
FILE: src/Mollie.Api/Models/Order/Response/OrderResponse.cs
type OrderResponse (line 8) | public record OrderResponse : IEntity {
FILE: src/Mollie.Api/Models/Order/Response/OrderResponseLinks.cs
type OrderResponseLinks (line 4) | public record OrderResponseLinks {
FILE: src/Mollie.Api/Models/Order/Response/OrderStatus.cs
class OrderStatus (line 2) | public static class OrderStatus {
FILE: src/Mollie.Api/Models/Organization/OrganizationResponse.cs
type OrganizationResponse (line 4) | public record OrganizationResponse : IEntity {
FILE: src/Mollie.Api/Models/Organization/OrganizationResponseLinks.cs
type OrganizationResponseLinks (line 12) | public record OrganizationResponseLinks {
FILE: src/Mollie.Api/Models/Organization/PartnerResponse.cs
type PartnerResponse (line 8) | public record PartnerResponse {
type PartnerResponseLinks (line 52) | public record PartnerResponseLinks {
FILE: src/Mollie.Api/Models/Organization/PartnerTypes.cs
class PartnerTypes (line 3) | public static class PartnerTypes {
FILE: src/Mollie.Api/Models/Organization/UserAgentToken.cs
type UserAgentToken (line 5) | public record UserAgentToken {
FILE: src/Mollie.Api/Models/Payment/EntryMode.cs
class EntryMode (line 3) | public static class EntryMode {
FILE: src/Mollie.Api/Models/Payment/Locale.cs
class Locale (line 2) | public static class Locale {
FILE: src/Mollie.Api/Models/Payment/PaymentAddressDetails.cs
type PaymentAddressDetails (line 3) | public record PaymentAddressDetails : AddressObject {
FILE: src/Mollie.Api/Models/Payment/PaymentLine.cs
type PaymentLine (line 5) | public record PaymentLine {
FILE: src/Mollie.Api/Models/Payment/PaymentMethod.cs
class PaymentMethod (line 2) | public static class PaymentMethod {
FILE: src/Mollie.Api/Models/Payment/PaymentStatus.cs
class PaymentStatus (line 2) | public static class PaymentStatus {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentRequest.cs
type PaymentRequest (line 9) | public record PaymentRequest : ITestModeRequest, IProfileRequest
FILE: src/Mollie.Api/Models/Payment/Request/PaymentRoutingRequest.cs
type PaymentRoutingRequest (line 7) | public record PaymentRoutingRequest
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/ApplePayPaymentRequest.cs
type ApplePayPaymentRequest (line 4) | public record ApplePayPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/BankTransferPaymentRequest.cs
type BankTransferPaymentRequest (line 4) | public record BankTransferPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/CreditCardPaymentRequest.cs
type CreditCardPaymentRequest (line 4) | public record CreditCardPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/GiftcardPaymentRequest.cs
type GiftcardPaymentRequest (line 4) | public record GiftcardPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/IDealPaymentRequest.cs
type IdealPaymentRequest (line 5) | [Obsolete("Ideal no longer has specific parameters, so this class is ide...
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcIssuer.cs
class KbcIssuer (line 2) | public static class KbcIssuer {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/KbcPaymentRequest.cs
type KbcPaymentRequest (line 5) | [Obsolete("Kbc no longer has specific parameters, so this class is ident...
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PayPalPaymentRequest.cs
type PayPalPaymentRequest (line 4) | public record PayPalPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PaySafeCardPaymentRequest.cs
type PaySafeCardPaymentRequest (line 4) | public record PaySafeCardPaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/PointOfSalePaymentRequest.cs
type PointOfSalePaymentRequest (line 5) | public record PointOfSalePaymentRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/Przelewy24PaymentRequest.cs
type Przelewy24PaymentRequest (line 5) | public record Przelewy24PaymentRequest : PaymentRequest
FILE: src/Mollie.Api/Models/Payment/Request/PaymentSpecificParameters/SepaDirectDebitRequest.cs
type SepaDirectDebitRequest (line 4) | public record SepaDirectDebitRequest : PaymentRequest {
FILE: src/Mollie.Api/Models/Payment/Request/PaymentUpdateRequest.cs
type PaymentUpdateRequest (line 6) | public record PaymentUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Payment/Resource.cs
type Resource (line 5) | public enum Resource
FILE: src/Mollie.Api/Models/Payment/Response/PaymentEmbeddedResponse.cs
type PaymentEmbeddedResponse (line 6) | public record PaymentEmbeddedResponse {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentResponse.cs
type PaymentResponse (line 8) | public record PaymentResponse : IEntity {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentResponseLinks.cs
type PaymentResponseLinks (line 12) | public record PaymentResponseLinks {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentRoutingResponse.cs
type PaymentRoutingResponse (line 5) | public record PaymentRoutingResponse
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/BancontactPaymentResponse.cs
type BancontactPaymentResponse (line 4) | public record BancontactPaymentResponse : PaymentResponse {
type BancontactPaymentResponseDetails (line 8) | public record BancontactPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/BankTransferPaymentResponse.cs
type BankTransferPaymentResponse (line 5) | public record BankTransferPaymentResponse : PaymentResponse, IJsonOnDese...
type BankTransferPaymentResponseDetails (line 19) | public record BankTransferPaymentResponseDetails {
type BankTransferPaymentResponseLinks (line 69) | public record BankTransferPaymentResponseLinks : PaymentResponseLinks {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/BelfiusPaymentResponse.cs
type BelfiusPaymentResponse (line 2) | public record BelfiusPaymentResponse : PaymentResponse {
type BelfiusPaymentResponseDetails (line 6) | public record BelfiusPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/CreditCardPaymentResponse.cs
type CreditCardPaymentResponse (line 2) | public record CreditCardPaymentResponse : PaymentResponse {
type CreditCardPaymentResponseDetails (line 9) | public record CreditCardPaymentResponseDetails {
class CreditCardAudience (line 114) | public static class CreditCardAudience {
class CreditCardSecurity (line 122) | public static class CreditCardSecurity {
class CreditCardFeeRegion (line 131) | public static class CreditCardFeeRegion {
class CreditCardFailureReason (line 145) | public static class CreditCardFailureReason {
class CreditCardLabel (line 166) | public static class CreditCardLabel {
class CreditCardFunding (line 185) | public static class CreditCardFunding {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/EpsPaymentResponse.cs
type EpsPaymentResponse (line 2) | public record EpsPaymentResponse : PaymentResponse {
type EpsPaymentResponseDetails (line 9) | public record EpsPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/GiftcardPaymentResponse.cs
type GiftcardPaymentResponse (line 4) | public record GiftcardPaymentResponse : PaymentResponse {
type GiftcardPaymentResponseDetails (line 11) | public record GiftcardPaymentResponseDetails {
type Giftcard (line 36) | public record Giftcard {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/GiropayPaymentResponse.cs
type GiropayPaymentResponse (line 2) | public record GiropayPaymentResponse : PaymentResponse {
type GiropayPaymentResponseDetails (line 9) | public record GiropayPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/IdealPaymentResponse.cs
type IdealPaymentResponse (line 2) | public record IdealPaymentResponse : PaymentResponse {
type IdealPaymentResponseDetails (line 9) | public record IdealPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/IngHomePayPaymentResponse.cs
type IngHomePayPaymentResponse (line 2) | public record IngHomePayPaymentResponse : PaymentResponse {
type IngHomePayPaymentResponseDetails (line 9) | public record IngHomePayPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/KbcPaymentResponse.cs
type KbcPaymentResponse (line 2) | public record KbcPaymentResponse : PaymentResponse {
type KbcPaymentResponseDetails (line 6) | public record KbcPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/PayPalPaymentResponse.cs
type PayPalPaymentResponse (line 4) | public record PayPalPaymentResponse : PaymentResponse {
type PayPalPaymentResponseDetails (line 8) | public record PayPalPaymentResponseDetails {
class PayPalSellerProtection (line 49) | public static class PayPalSellerProtection {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/PaySafeCardPaymentResponse.cs
type PaySafeCardPaymentResponse (line 2) | public record PaySafeCardPaymentResponse : PaymentResponse {
type PaySafeCardPaymentResponseDetails (line 6) | public record PaySafeCardPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/PointOfSalePaymentResponse.cs
type PointOfSalePaymentResponse (line 3) | public record PointOfSalePaymentResponse : PaymentResponse {
type PointOfSalePaymentResponseDetails (line 10) | public record PointOfSalePaymentResponseDetails {
type PointOfSaleReceipt (line 76) | public record PointOfSaleReceipt {
class CardReadMethod (line 103) | public static class CardReadMethod {
class CardVerificationMethod (line 114) | public static class CardVerificationMethod {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/SepaDirectDebitResponse.cs
type SepaDirectDebitResponse (line 2) | public record SepaDirectDebitResponse : PaymentResponse {
type SepaDirectDebitResponseDetails (line 6) | public record SepaDirectDebitResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/PaymentSpecificParameters/SofortPaymentResponse.cs
type SofortPaymentResponse (line 2) | public record SofortPaymentResponse : PaymentResponse {
type SofortPaymentResponseDetails (line 6) | public record SofortPaymentResponseDetails {
FILE: src/Mollie.Api/Models/Payment/Response/QrCode.cs
type QrCode (line 2) | public record QrCode {
FILE: src/Mollie.Api/Models/Payment/RoutingDestination.cs
type RoutingDestination (line 3) | public record RoutingDestination
FILE: src/Mollie.Api/Models/Payment/SequenceType.cs
class SequenceType (line 2) | public static class SequenceType {
FILE: src/Mollie.Api/Models/PaymentLink/Request/PaymentLinkRequest.cs
type PaymentLinkRequest (line 8) | public record PaymentLinkRequest : ITestModeRequest, IProfileRequest
FILE: src/Mollie.Api/Models/PaymentLink/Request/PaymentLinkUpdateRequest.cs
type PaymentLinkUpdateRequest (line 6) | public record PaymentLinkUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/PaymentLink/Response/PaymentLinkResponse.cs
type PaymentLinkResponse (line 8) | public record PaymentLinkResponse : IEntity {
FILE: src/Mollie.Api/Models/PaymentLink/Response/PaymentLinkResponseLinks.cs
type PaymentLinkResponseLinks (line 4) | public record PaymentLinkResponseLinks {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/FixedPricingResponse.cs
type FixedPricingResponse (line 6) | public record FixedPricingResponse {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/PaymentMethodResponse.cs
type PaymentMethodResponse (line 6) | public record PaymentMethodResponse : IEntity {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/PaymentMethodResponseImage.cs
type PaymentMethodResponseImage (line 5) | public record PaymentMethodResponseImage {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/PaymentMethodResponseLinks.cs
type PaymentMethodResponseLinks (line 4) | public record PaymentMethodResponseLinks {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/PaymentMethodStatus.cs
class PaymentMethodStatus (line 6) | public static class PaymentMethodStatus {
FILE: src/Mollie.Api/Models/PaymentMethod/Response/PricingResponse.cs
type PricingResponse (line 6) | public record PricingResponse {
FILE: src/Mollie.Api/Models/Permission/Response/PermissionResponse.cs
type PermissionResponse (line 4) | public record PermissionResponse : IEntity {
FILE: src/Mollie.Api/Models/Permission/Response/PermissionResponseLInks.cs
type PermissionResponseLinks (line 4) | public record PermissionResponseLinks {
FILE: src/Mollie.Api/Models/Profile/ProfileStatus.cs
class ProfileStatus (line 2) | public static class ProfileStatus {
FILE: src/Mollie.Api/Models/Profile/Request/ProfileRequest.cs
type ProfileRequest (line 4) | public record ProfileRequest {
FILE: src/Mollie.Api/Models/Profile/Response/ApiKey.cs
type ApiKey (line 4) | public record ApiKey {
FILE: src/Mollie.Api/Models/Profile/Response/EnableGiftCardIssuerResponse.cs
type EnableGiftCardIssuerResponse (line 4) | public record EnableGiftCardIssuerResponse {
FILE: src/Mollie.Api/Models/Profile/Response/EnableGiftCardIssuerResponseLinks.cs
type EnableGiftCardIssuerResponseLinks (line 4) | public record EnableGiftCardIssuerResponseLinks {
FILE: src/Mollie.Api/Models/Profile/Response/EnableGiftCardIssuerStatus.cs
class EnableGiftCardIssuerStatus (line 5) | public static class EnableGiftCardIssuerStatus {
FILE: src/Mollie.Api/Models/Profile/Response/ProfileResponse.cs
type ProfileResponse (line 6) | public record ProfileResponse : IEntity {
type Review (line 91) | public record Review {
FILE: src/Mollie.Api/Models/Profile/Response/ProfileResponseLinks.cs
type ProfileResponseLinks (line 9) | public record ProfileResponseLinks {
FILE: src/Mollie.Api/Models/Profile/ReviewStatus.cs
class ReviewStatus (line 2) | public static class ReviewStatus {
FILE: src/Mollie.Api/Models/Refund/Request/RefundRequest.cs
type RefundRequest (line 7) | public record RefundRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Refund/Response/RefundResponse.cs
type RefundResponse (line 8) | public record RefundResponse : IEntity {
FILE: src/Mollie.Api/Models/Refund/Response/RefundResponseLinks.cs
type RefundResponseLinks (line 6) | public record RefundResponseLinks {
FILE: src/Mollie.Api/Models/Refund/Response/RefundStatus.cs
class RefundStatus (line 2) | public static class RefundStatus {
FILE: src/Mollie.Api/Models/Refund/RoutingReversal.cs
type RoutingReversal (line 5) | public record RoutingReversal {
FILE: src/Mollie.Api/Models/SalesInvoice/EmailDetails.cs
type EmailDetails (line 3) | public record EmailDetails {
FILE: src/Mollie.Api/Models/SalesInvoice/PaymentDetails.cs
type PaymentDetails (line 3) | public record PaymentDetails {
FILE: src/Mollie.Api/Models/SalesInvoice/PaymentDetailsSource.cs
class PaymentDetailsSource (line 6) | public static class PaymentDetailsSource {
FILE: src/Mollie.Api/Models/SalesInvoice/PaymentTerm.cs
class PaymentTerm (line 6) | public static class PaymentTerm {
FILE: src/Mollie.Api/Models/SalesInvoice/Recipient.cs
type Recipient (line 3) | public record Recipient {
FILE: src/Mollie.Api/Models/SalesInvoice/RecipientType.cs
class RecipientType (line 7) | public static class RecipientType {
FILE: src/Mollie.Api/Models/SalesInvoice/Request/SalesInvoiceRequest.cs
type SalesInvoiceRequest (line 8) | public record SalesInvoiceRequest : ITestModeRequest, IProfileRequest {
FILE: src/Mollie.Api/Models/SalesInvoice/Request/SalesInvoiceUpdateRequest.cs
type SalesInvoiceUpdateRequest (line 5) | public record SalesInvoiceUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/SalesInvoice/Response/SalesInvoiceResponse.cs
type SalesInvoiceResponse (line 9) | public record SalesInvoiceResponse : IEntity {
FILE: src/Mollie.Api/Models/SalesInvoice/Response/SalesInvoiceResponseLinks.cs
type SalesInvoiceResponseLinks (line 5) | public record SalesInvoiceResponseLinks {
FILE: src/Mollie.Api/Models/SalesInvoice/SalesInvoiceLine.cs
type SalesInvoiceLine (line 3) | public record SalesInvoiceLine {
FILE: src/Mollie.Api/Models/SalesInvoice/SalesInvoiceStatus.cs
class SalesInvoiceStatus (line 3) | public static class SalesInvoiceStatus {
FILE: src/Mollie.Api/Models/Session/Request/SessionRequest.cs
type SessionRequest (line 9) | public record SessionRequest : ITestModeRequest, IProfileRequest {
FILE: src/Mollie.Api/Models/Session/Response/SessionResponse.cs
type SessionResponse (line 9) | public record SessionResponse : IEntity {
FILE: src/Mollie.Api/Models/Session/Response/SessionResponseLinks.cs
type SessionResponseLinks (line 8) | public record SessionResponseLinks {
FILE: src/Mollie.Api/Models/Session/Response/SessionStatus.cs
class SessionStatus (line 2) | public static class SessionStatus {
FILE: src/Mollie.Api/Models/Session/SessionLine.cs
type SessionLine (line 7) | public record SessionLine : PaymentLine {
FILE: src/Mollie.Api/Models/Session/SessionLineRecurringDetails.cs
type SessionLineRecurringDetails (line 9) | public record SessionLineRecurringDetails {
FILE: src/Mollie.Api/Models/Session/SessionPaymentDetails.cs
type SessionPaymentDetails (line 7) | public record SessionPaymentDetails {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementPeriod.cs
type SettlementPeriod (line 4) | public record SettlementPeriod {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementPeriodCosts.cs
type SettlementPeriodCosts (line 2) | public record SettlementPeriodCosts {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementPeriodCostsRate.cs
type SettlementPeriodCostsRate (line 3) | public record SettlementPeriodCostsRate {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementPeriodRevenue.cs
type SettlementPeriodRevenue (line 3) | public record SettlementPeriodRevenue
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementResponse.cs
type SettlementResponse (line 7) | public record SettlementResponse : IEntity {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementResponseLinks.cs
type SettlementResponseLinks (line 8) | public record SettlementResponseLinks {
FILE: src/Mollie.Api/Models/Settlement/Response/SettlementStatus.cs
class SettlementStatus (line 2) | public static class SettlementStatus {
FILE: src/Mollie.Api/Models/Shipment/Request/ShipmentLineRequest.cs
type ShipmentLineRequest (line 2) | public record ShipmentLineRequest {
FILE: src/Mollie.Api/Models/Shipment/Request/ShipmentRequest.cs
type ShipmentRequest (line 4) | public record ShipmentRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Shipment/Request/ShipmentUpdateRequest.cs
type ShipmentUpdateRequest (line 3) | public record ShipmentUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Shipment/Response/ShipmentResponse.cs
type ShipmentResponse (line 10) | public record ShipmentResponse : IEntity {
FILE: src/Mollie.Api/Models/Shipment/Response/ShipmentResponseLinks.cs
type ShipmentResponseLinks (line 4) | public record ShipmentResponseLinks {
FILE: src/Mollie.Api/Models/Shipment/TrackingObject.cs
type TrackingObject (line 2) | public record TrackingObject {
FILE: src/Mollie.Api/Models/SortDirection.cs
type SortDirection (line 5) | public enum SortDirection
FILE: src/Mollie.Api/Models/StatusReason.cs
type StatusReason (line 3) | public record StatusReason {
FILE: src/Mollie.Api/Models/Subscription/Request/SubscriptionRequest.cs
type SubscriptionRequest (line 7) | public record SubscriptionRequest : ITestModeRequest, IProfileRequest {
FILE: src/Mollie.Api/Models/Subscription/Request/SubscriptionUpdateRequest.cs
type SubscriptionUpdateRequest (line 7) | public record SubscriptionUpdateRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Subscription/Response/SubscriptionResponse.cs
type SubscriptionResponse (line 7) | public record SubscriptionResponse : IEntity {
FILE: src/Mollie.Api/Models/Subscription/Response/SubscriptionResponseLinks.cs
type SubscriptionResponseLinks (line 8) | public record SubscriptionResponseLinks {
FILE: src/Mollie.Api/Models/Subscription/Response/SubscriptionStatus.cs
class SubscriptionStatus (line 2) | public static class SubscriptionStatus {
FILE: src/Mollie.Api/Models/Terminal/Response/TerminalResponse.cs
type TerminalResponse (line 9) | public record TerminalResponse : IEntity {
FILE: src/Mollie.Api/Models/Terminal/Response/TerminalResponseLinks.cs
type TerminalResponseLinks (line 8) | public record TerminalResponseLinks
FILE: src/Mollie.Api/Models/TestmodeModel.cs
type TestmodeModel (line 2) | public record TestmodeModel {
FILE: src/Mollie.Api/Models/Url/UrlLink.cs
type UrlLink (line 2) | public record UrlLink {
FILE: src/Mollie.Api/Models/Url/UrlObjectLink.cs
type UrlObjectLink (line 3) | public record UrlObjectLink<T> : UrlLink;
FILE: src/Mollie.Api/Models/VatMode.cs
class VatMode (line 6) | public static class VatMode {
FILE: src/Mollie.Api/Models/VatScheme.cs
class VatScheme (line 3) | public static class VatScheme {
FILE: src/Mollie.Api/Models/VoucherCategory.cs
class VoucherCategory (line 3) | public static class VoucherCategory {
FILE: src/Mollie.Api/Models/Wallet/Request/ApplePayPaymentSessionRequest.cs
type ApplePayPaymentSessionRequest (line 2) | public record ApplePayPaymentSessionRequest {
FILE: src/Mollie.Api/Models/Wallet/Response/ApplePayPaymentSessionResponse.cs
type ApplePayPaymentSessionResponse (line 6) | public record ApplePayPaymentSessionResponse {
FILE: src/Mollie.Api/Models/Webhook/Request/WebhookRequest.cs
type WebhookRequest (line 7) | public record WebhookRequest : ITestModeRequest {
FILE: src/Mollie.Api/Models/Webhook/Response/WebhookResponse.cs
type WebhookResponse (line 6) | public record WebhookResponse : IEntity {
FILE: src/Mollie.Api/Models/Webhook/WebhookEventTypes.cs
class WebhookEventTypes (line 3) | public static class WebhookEventTypes {
FILE: src/Mollie.Api/Models/WebhookEvent/Response/FullWebhookEventResponse.cs
type FullWebhookEventResponse (line 6) | public record FullWebhookEventResponse<T> : SimpleWebhookEventResponse w...
type FullWebhookEventResponse (line 15) | public record FullWebhookEventResponse : SimpleWebhookEventResponse {
FILE: src/Mollie.Api/Models/WebhookEvent/Response/SimpleWebhookEventResponse.cs
type SimpleWebhookEventResponse (line 6) | public record SimpleWebhookEventResponse : IEntity {
FILE: src/Mollie.Api/Models/WebhookEvent/Response/WebhookEventResponseLinks.cs
type WebhookEventResponseLinks (line 8) | public record WebhookEventResponseLinks {
FILE: src/Mollie.Api/Options/MollieClientOptions.cs
class MollieClientOptions (line 5) | public class MollieClientOptions {
FILE: src/Mollie.Api/Options/MollieOptions.cs
type MollieOptions (line 8) | public record MollieOptions {
FILE: tests/Mollie.Tests.Integration/Api/ApiExceptionTests.cs
class ApiExceptionTests (line 14) | public class ApiExceptionTests : BaseMollieApiTestClass {
method ApiExceptionTests (line 18) | public ApiExceptionTests(IPaymentClient paymentClient, IConnectClient ...
method CreatePayment_WithInvalidParameters_ShouldThrowMollieApiException (line 23) | [Fact]
method RevokeTokenAsync_WithInvalidToken_ShouldThrowMollieApiException (line 41) | [Fact]
FILE: tests/Mollie.Tests.Integration/Api/BalanceTests.cs
class BalanceTests (line 15) | [Trait("TestCategory", "LocalIntegrationTests")]
method BalanceTests (line 19) | public BalanceTests(IBalanceClient balanceClient) {
method GetPrimaryBalanceAsync_IsParsedCorrectly (line 23) | [Fact]
method GetBalanceAsync_IsParsedCorrectly (line 41) | [Fact]
method ListBalancesAsync_IsParsedCorrectly (line 67) | [Fact]
method GetBalanceReportAsync_IsParsedCorrectly (line 77) | [Theory]
method ListBalanceTransactionsAsync_IsParsedCorrectly (line 103) | [Fact]
method ListPrimaryBalanceTransactionsAsync_IsParsedCorrectly (line 120) | [Fact]
method Dispose (line 134) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/CaptureTests.cs
class CaptureTests (line 17) | public class CaptureTests : BaseMollieApiTestClass, IDisposable {
method CaptureTests (line 21) | public CaptureTests(
method CanCreateCaptureForPaymentWithManualCaptureMode (line 28) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method CanRetrieveCaptureListForPayment (line 57) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method Dispose (line 90) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/ConnectTests.cs
class ConnectTests (line 13) | public class ConnectTests : BaseMollieApiTestClass {
method ConnectTests (line 16) | public ConnectTests(IConnectClient connectClient) {
method GetAuthorizationUrl_WithSingleScope_GeneratesAuthorizationUrl (line 20) | [Fact]
method GetAuthorizationUrl_WithMultipleScopes_GeneratesAuthorizationUrl (line 30) | [Fact]
method GetAccessTokenAsync_WithValidTokenRequest_ReturnsAccessToken (line 46) | [Fact(Skip = "We can only test this in debug mode, because we login to...
method RevokeAccessTokenAsync_WithValidToken_DoesNotThrowError (line 60) | [Fact(Skip = "We can only test this in debug mode, because we need a v...
FILE: tests/Mollie.Tests.Integration/Api/CustomerTests.cs
class CustomerTests (line 20) | public class CustomerTests : BaseMollieApiTestClass, IDisposable {
method CustomerTests (line 23) | public CustomerTests(ICustomerClient customerClient) {
method CanRetrieveCustomerList (line 27) | [Fact]
method ListCustomersNeverReturnsMoreCustomersThenTheNumberOfRequestedCustomers (line 37) | [Fact]
method CanCreateNewCustomer (line 49) | [Fact]
method CanUpdateCustomer (line 64) | [Fact]
method CanDeleteCustomer (line 82) | [Fact]
method CanGetCustomerByUrlObject (line 97) | [Fact]
method CanCreateCustomerWithJsonMetadata (line 112) | [Fact]
method CanCreateCustomerWithStringMetadata (line 129) | [Fact]
method CanCreateNewCustomerPayment (line 146) | [Fact]
method CreateCustomer (line 166) | private async Task<CustomerResponse> CreateCustomer(string name, strin...
method Dispose (line 176) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/MandateTests.cs
class MandateTests (line 20) | public class MandateTests : BaseMollieApiTestClass, IDisposable {
method MandateTests (line 24) | public MandateTests(IMandateClient mandateClient, ICustomerClient cust...
method CanRetrieveMandateList (line 29) | [Fact]
method ListMandatesNeverReturnsMoreCustomersThenTheNumberOfRequestedMandates (line 44) | [Fact]
method CanCreateSepaDirectDebitMandate (line 61) | [Fact]
method Dispose (line 84) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/OrderTests.cs
class OrderTests (line 23) | public class OrderTests : BaseMollieApiTestClass, IDisposable {
method OrderTests (line 26) | public OrderTests(IOrderClient orderClient) {
method GetOrderListAsync_WithoutSortOrder_ReturnsOrdersInDescendingOrder (line 30) | [Fact]
method GetOrderListAsync_InDescendingOrder_ReturnsOrdersInDescendingOrder (line 43) | [Fact]
method GetOrderListAsync_InAscendingOrder_ReturnsOrdersInAscendingOrder (line 56) | [Fact]
method CreateOrderAsync_OrderWithRequiredFields_OrderIsCreated (line 69) | [Fact]
method CreateOrderAsync_OrderWithExtendedFields_OrderIsCreated (line 92) | [Fact]
method CreateOrderAsync_OrderWithApplicationFee_OrderIsCreated (line 108) | [Fact]
method CreateOrderAsync_WithMultiplePaymentMethods_OrderIsCreated (line 138) | [Fact]
method CreateOrderAsync_WithSinglePaymentMethod_OrderIsCreated (line 157) | [Fact]
method CreateOrderAsync_WithPaymentSpecificParameters_OrderIsCreated (line 227) | [Theory]
method GetOrderAsync_OrderIsCreated_OrderCanBeRetrieved (line 247) | [Fact]
method GetOrderAsync_WithUrlObject_OrderCanBeRetrieved (line 261) | [Fact]
method GetOrderAsync_WithIncludeParameters_OrderIsRetrievedWithEmbeddedData (line 275) | [Fact]
method UpdateOrderAsync_OrderIsUpdated_OrderIsUpdated (line 293) | [Fact]
method UpdateOrderLinesAsync_WhenOrderLineIsUpdated_UpdatedPropertiesCanBeRetrieved (line 310) | [Fact(Skip = "Broken - Reported to Mollie: https://discordapp.com/chan...
method ManageOrderLinesAsync_AddOperation_OrderLineIsAdded (line 326) | [Fact]
method ManageOrderLinesAsync_UpdateOperation_OrderLineIsUpdated (line 371) | [Fact]
method ManageOrderLinesAsync_CancelOperation_OrderLineIsCanceled (line 416) | [Fact]
method GetOrderListAsync_NoParameters_OrderListIsRetrieved (line 442) | [Fact]
method GetOrderListAsync_WithMaximumNumberOfItems_MaximumNumberOfOrdersIsReturned (line 452) | [Fact]
method CreateOrder (line 464) | private OrderRequest CreateOrder() {
method Dispose (line 498) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/PaymentLinkTests.cs
class PaymentLinkTests (line 19) | public class PaymentLinkTests : BaseMollieApiTestClass, IDisposable {
method PaymentLinkTests (line 22) | public PaymentLinkTests(IPaymentLinkClient paymentLinkClient) {
method CanRetrievePaymentLinkList (line 26) | [Fact]
method CanCreatePaymentLinkAndRetrieveIt (line 36) | [Fact]
method CanCreatePaymentLinkWithMinimumAmount (line 75) | [Fact]
method CanCreatePaymentLinkForRecurringPayments (line 108) | [Fact]
method CanCreatePaymentLinkWithLines (line 142) | [Fact]
method CanCreatePaymentLinkWithNullAmount (line 191) | [Fact]
method CanCreatePaymentLinkWithSpecificPaymentMethods (line 221) | [Fact]
method CanUpdatePaymentLink (line 253) | [Fact]
method CanDeletePaymentLink (line 281) | [Fact]
method CanListPaymentLinkPayments (line 303) | [Fact]
method CreateAddress (line 323) | private PaymentAddressDetails CreateAddress() {
method Dispose (line 339) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/PaymentMethodTests.cs
class PaymentMethodTests (line 16) | public class PaymentMethodTests : BaseMollieApiTestClass, IDisposable {
method PaymentMethodTests (line 19) | public PaymentMethodTests(IPaymentMethodClient paymentMethodClient) {
method CanRetrievePaymentMethodList (line 23) | [Fact]
method CanRetrievePaymentMethodListIncludeWallets (line 33) | [Fact]
method CanRetrieveSinglePaymentMethod (line 43) | [Theory]
method CanRetrieveKbcIssuers (line 54) | [Fact]
method DoNotRetrieveIssuersWhenIncludeIsFalse (line 64) | [Fact]
method CanRetrieveAllMethods (line 73) | [Fact]
method CanRetrievePricingForAllMethods (line 83) | [Fact]
method CanRetrieveIssuersForAllMethods (line 92) | [Fact]
method CanRetrieveIssuersAndPricingInformation (line 101) | [Fact]
method GetPaymentMethodListAsync_WithVariousCurrencies_ReturnsAvailablePaymentMethods (line 111) | [Theory]
method Dispose (line 123) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/PaymentTests.cs
class PaymentTests (line 29) | public class PaymentTests : BaseMollieApiTestClass, IDisposable {
method PaymentTests (line 36) | public PaymentTests(
method CanRetrievePaymentList (line 49) | [Fact]
method CanRetrievePaymentListInDescendingOrder (line 60) | [Fact]
method CanRetrievePaymentListInAscendingOrder (line 72) | [Fact]
method ListPaymentsNeverReturnsMorePaymentsThenTheNumberOfRequestedPayments (line 84) | [Fact]
method CanCreateDefaultPaymentWithOnlyRequiredFields (line 96) | [Fact]
method CanCreateDefaultPaymentWithCustomIdempotencyKey (line 115) | [Fact]
method CanCreateDefaultPaymentWithAllFields (line 135) | [Fact]
method CanUpdatePayment (line 161) | [Fact]
method CanCreatePaymentWithSinglePaymentMethod (line 183) | [Fact]
method CanCreatePaymentWithMultiplePaymentMethods (line 204) | [Fact]
method CanCreateSpecificPaymentType (line 229) | [Theory]
method CanCreatePaymentAndRetrieveIt (line 262) | [Fact]
method CanCreateRecurringPaymentAndRetrieveIt (line 285) | [Fact]
method CanCreatePaymentWithMetaData (line 308) | [Fact]
method CanCreatePaymentWithJsonMetaData (line 326) | [Fact]
method CanCreatePaymentWithCustomMetaDataClass (line 344) | [Fact]
method CanCreatePaymentWithLines (line 369) | [Fact]
method CanCreatePaymentWithMandate (line 418) | [Fact]
method CanCreatePaymentWithDecimalAmountAndRetrieveIt (line 443) | [Fact]
method CanCreatePaymentWithImplicitAmountCastAndRetrieveIt (line 465) | [Fact]
method CanCreatePointOfSalePayment (line 494) | [Fact]
method CanCreatePaymentWithManualCaptureMode (line 528) | [Fact(Skip = "We can only test this in debug mode, because we have to ...
method CanCreatePaymentWithCaptureDelay (line 555) | [Fact]
method GetFirstValidMandate (line 573) | private async Task<MandateResponse?> GetFirstValidMandate() {
method Dispose (line 587) | public void Dispose()
type CustomMetadataClass (line 597) | public record CustomMetadataClass {
FILE: tests/Mollie.Tests.Integration/Api/ProfileTests.cs
class ProfileTests (line 19) | public class ProfileTests : BaseMollieApiTestClass, IDisposable {
method ProfileTests (line 22) | public ProfileTests(IProfileClient profileClient) {
method GetCurrentProfileAsync_ReturnsCurrentProfile (line 26) | [Fact]
method EnablePaymentMethodAsync_WhenEnablingPaymentMethodForCurrentProfile_PaymentMethodIsReturned (line 40) | [Fact]
method EnablePaymentMethodAsync_WhenEnablingPaymentMethodForProfile_PaymentMethodIsReturned (line 52) | [Fact(Skip = "We can only test this in debug mode, because we need to ...
method CreateProfileAsync_WithDefaultParameters_CreatesProfile (line 69) | [Fact(Skip = "We can only test this in debug mode, because we need to ...
method DisablePaymentMethodAsync_WhenDisablingPaymentMethodForCurrentProfile_NoErrorIsThrown (line 89) | [Fact(Skip = "Don't disable payment methods, other tests might break")]
method DisableGiftCardIssuerAsync_WhenDisablingGiftCardIssuerForCurrentProfile_NoErrorIsThrown (line 99) | [Fact]
method Dispose (line 109) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/RefundTests.cs
class RefundTests (line 19) | public class RefundTests : BaseMollieApiTestClass, IDisposable {
method RefundTests (line 23) | public RefundTests(IRefundClient refundClient, IPaymentClient paymentC...
method CanCreateRefund (line 28) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method CanCreatePartialRefund (line 48) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method CanRetrieveSingleRefund (line 67) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method CanRetrieveRefundList (line 89) | [Fact]
method CanCreateRefundWithMetaData (line 103) | [Fact(Skip = "We can only test this in debug mode, because we actually...
method CreatePayment (line 125) | private async Task<PaymentResponse> CreatePayment(string amount = "100...
method Dispose (line 136) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/SalesInvoiceTests.cs
class SalesInvoiceTests (line 20) | [Trait("TestCategory", "LocalIntegrationTests")]
method SalesInvoiceTests (line 24) | public SalesInvoiceTests(ISalesInvoiceClient salesInvoiceClient) {
method CreateSalesInvoiceAsync_WithRequiredFields_SalesInvoiceIsCreated (line 28) | [Fact]
method GetSalesInvoiceListAsync_NoParameters_SalesInvoiceListIsRetrieved (line 40) | [Fact]
method GetSalesInvoiceListAsync_WithObjectUrlLink_SalesInvoiceListIsRetrieved (line 52) | [Fact]
method GetSalesInvoiceListAsync_WithMaximumNumberOfItems_MaximumNumberOfSalesInvoicesIsReturned (line 68) | [Fact]
method GetSalesInvoiceAsync_SalesInvoiceCanBeRetrieved (line 80) | [Fact]
method GetSalesInvoiceAsync_WithObjectUrlLink_SalesInvoiceCanBeRetrieved (line 93) | [Fact]
method UpdateSalesInvoiceAsync_UpdatesSalesInvoice (line 106) | [Fact]
method DeleteSalesInvoiceAsync_DeletesSalesInvoice (line 124) | [Fact]
method CreateSalesInvoiceRequest (line 141) | private SalesInvoiceRequest CreateSalesInvoiceRequest() {
method AssertSalesInvoice (line 171) | private void AssertSalesInvoice(SalesInvoiceRequest request, SalesInvo...
method Dispose (line 194) | public void Dispose() {
FILE: tests/Mollie.Tests.Integration/Api/SessionTests.cs
class SessionTests (line 16) | [Trait("TestCategory", "LocalIntegrationTests")]
method SessionTests (line 20) | public SessionTests(
method CanCreateDefaultSessionWithOnlyRequiredFields (line 25) | [Fact]
method CanCreateDefaultSessionWithCustomIdempotencyKey (line 44) | [Fact]
method CanCreateSessionAndRetrieveIt (line 64) | [Fact]
method CanCreateSessionWithJsonMetaData (line 85) | [Fact]
method CanCreateSessionWithCustomMetaDataClass (line 103) | [Fact]
method CanCreateSessionWithLines (line 128) | [Fact]
method CanCreateSessionWithDecimalAmountAndRetrieveIt (line 177) | [Fact]
method CanCreateSessionWithImplicitAmountCastAndRetrieveIt (line 198) | [Fact]
method Dispose (line 226) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/ShipmentTests.cs
class ShipmentTests (line 15) | public class ShipmentTests : BaseMollieApiTestClass, IDisposable {
method ShipmentTests (line 18) | public ShipmentTests(IShipmentClient shipmentClient) {
method CanCreateShipmentWithOnlyRequiredFields (line 22) | [Fact(Skip = "For manual testing only")]
method CanListShipmentsForOrder (line 34) | [Fact(Skip = "For manual testing only")]
method CreateShipmentWithOnlyRequiredFields (line 43) | private ShipmentRequest CreateShipmentWithOnlyRequiredFields() {
method Dispose (line 49) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/SubscriptionTests.cs
class SubscriptionTests (line 17) | public class SubscriptionTests : BaseMollieApiTestClass, IDisposable {
method SubscriptionTests (line 22) | public SubscriptionTests(
method CanRetrieveSubscriptionList (line 31) | [Fact]
method CanRetrieveAllSubscriptionList (line 46) | [Fact]
method ListSubscriptionsNeverReturnsMoreCustomersThenTheNumberOfRequestedSubscriptions (line 58) | [Fact]
method CanCreateSubscription (line 73) | [Fact]
method CanUpdateSubscription (line 100) | [Fact]
method CanCancelSubscription (line 118) | [Fact]
method CanCreateSubscriptionWithMetaData (line 139) | [Fact]
method GetFirstCustomerWithValidMandate (line 163) | private async Task<string?> GetFirstCustomerWithValidMandate() {
method GetActiveSubscription (line 176) | private async Task<SubscriptionResponse?> GetActiveSubscription() {
method Dispose (line 190) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/TerminalTests.cs
class TerminalTests (line 14) | public class TerminalTests : BaseMollieApiTestClass, IDisposable {
method TerminalTests (line 17) | public TerminalTests(ITerminalClient terminalClient) {
method CanRetrieveTerminalList (line 21) | [Fact]
method CanRetrieveSingleTerminal (line 33) | [Fact(Skip = "Not implemented by Mollie yet")]
method Dispose (line 49) | public void Dispose()
FILE: tests/Mollie.Tests.Integration/Api/WebhookEventTests.cs
class WebhookEventTests (line 11) | [Trait("TestCategory", "LocalIntegrationTests")]
method WebhookEventTests (line 15) | public WebhookEventTests(IWebhookEventClient webhookEventClient) {
method CanRetrieveWebhookEvent (line 19) | [Fact]
method CanRetrieveGenericWebhookEvent (line 31) | [Fact]
method Dispose (line 43) | public void Dispose() {
FILE: tests/Mollie.Tests.Integration/Api/WebhookTests.cs
class WebhookTests (line 16) | [Trait("TestCategory", "LocalIntegrationTests")]
method WebhookTests (line 20) | public WebhookTests(IWebhookClient webhookClient) {
method CanCreateRetrieveAndDeleteWebhook (line 24) | [Fact]
method CanRetrieveWebhookList (line 53) | [Fact]
method CanUpdateWebhook (line 65) | [Fact]
method CanTestWebhook (line 92) | [Fact]
method InitializeAsync (line 110) | public async Task InitializeAsync() {
method DisposeAsync (line 117) | public Task DisposeAsync() => Task.CompletedTask;
method Dispose (line 119) | public void Dispose() => _webhookClient.Dispose();
FILE: tests/Mollie.Tests.Integration/Framework/BaseMollieApiTestClass.cs
class BaseMollieApiTestClass (line 10) | public abstract class BaseMollieApiTestClass {
method BaseMollieApiTestClass (line 20) | protected BaseMollieApiTestClass() {
method EnsureTestApiKey (line 32) | private void EnsureTestApiKey(string apiKey) {
method IsJsonResultEqual (line 42) | protected bool IsJsonResultEqual(string? json1, string? json2) {
method ExecuteWithRetry (line 47) | protected async Task<TResult> ExecuteWithRetry<TResult>(Func<Task<TRes...
FILE: tests/Mollie.Tests.Integration/Framework/ConfigurationFactory.cs
class ConfigurationFactory (line 5) | public static class ConfigurationFactory {
method GetConfiguration (line 6) | public static IConfiguration GetConfiguration() {
FILE: tests/Mollie.Tests.Integration/Framework/MollieIntegrationTestHttpRetryPolicies.cs
class MollieIntegrationTestHttpRetryPolicies (line 10) | public static class MollieIntegrationTestHttpRetryPolicies {
method TooManyRequestRetryPolicy (line 12) | public static IAsyncPolicy<HttpResponseMessage> TooManyRequestRetryPol...
FILE: tests/Mollie.Tests.Integration/Startup.cs
class Startup (line 10) | public class Startup
method ConfigureHost (line 12) | public void ConfigureHost(IHostBuilder hostBuilder) => hostBuilder
FILE: tests/Mollie.Tests.Unit/Client/BalanceClientTests.cs
class BalanceClientTests (line 17) | public class BalanceClientTests : BaseClientTests {
method GetBalanceAsync_DefaultBehaviour_ResponseIsParsed (line 18) | [Fact]
method GetBalanceAsync_NoBalanceIdIsGiven_ArgumentExceptionIsThrown (line 57) | [Theory]
method GetPrimaryBalanceAsync_DefaultBehaviour_ResponseIsParsed (line 76) | [Fact]
method ListBalancesAsync_DefaultBehaviour_ResponseIsParsed (line 111) | [Fact]
method GetBalanceReportAsync_TransactionCategories_ResponseIsParsed (line 129) | [Fact]
method GetBalanceReportAsync_NoBalanceIdIsGiven_ArgumentExceptionIsThrown (line 168) | [Theory]
method GetBalanceReportAsync_StatusBalances_ResponseIsParsed (line 189) | [Fact]
method ListBalanceTransactionsAsync_StatusBalances_ResponseIsParsed (line 227) | [Fact]
method ListBalanceTransactionsAsync_NoBalanceIdIsGiven_ArgumentExceptionIsThrown (line 256) | [Theory]
method ListPrimaryBalanceTransactionsAsync_StatusBalances_ResponseIsParsed (line 275) | [Fact]
class GetBalanceResponseFactory (line 1191) | private class GetBalanceResponseFactory {
method CreateGetBalanceResponse (line 1208) | public string CreateGetBalanceResponse() {
FILE: tests/Mollie.Tests.Unit/Client/BalanceTransferClientTests.cs
class BalanceTransferClientTests (line 16) | public class BalanceTransferClientTests : BaseClientTests {
method CreateBalanceTransferAsync_WithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 17) | [Fact]
method GetBalanceTransferListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 59) | [Theory]
method GetBalanceTransferAsync_WithValidBalanceTransferId_ResponseIsDeserializedInExpectedFormat (line 86) | [Fact]
method GetBalanceTransferAsync_WithTestmodeTrue_QueryStringContainsTestmodeParameter (line 120) | [Fact]
method GetBalanceTransferAsync_WithEmptyBalanceTransferId_ThrowsException (line 154) | [Fact]
method CreateBalanceTransferListJsonResponse (line 169) | private string CreateBalanceTransferListJsonResponse() {
method CreateBalanceTransferJsonResponse (line 197) | private string CreateBalanceTransferJsonResponse(string balanceTransfe...
FILE: tests/Mollie.Tests.Unit/Client/BaseClientTests.cs
class BaseClientTests (line 7) | public abstract class BaseClientTests {
method CreateMockHttpMessageHandler (line 10) | protected MockHttpMessageHandler CreateMockHttpMessageHandler(
method RemoveWhiteSpaces (line 35) | private string RemoveWhiteSpaces(string input)
FILE: tests/Mollie.Tests.Unit/Client/BaseMollieClientTests.cs
class BaseMollieClientTests (line 17) | public class BaseMollieClientTests : BaseClientTests {
method HttpResponseStatusCodeIsNotSuccesfull_ResponseBodyContainsMollieErrorDetails_MollieApiExceptionIsThrown (line 18) | [Fact]
method HttpResponseStatusCodeIsNotSuccesfull_ResponseBodyContainsHtml_MollieApiExceptionIsThrown (line 56) | [Fact]
method CustomUserAgentIsSetInOptions_UserAgentIsAppendedToDefaultUserAgent (line 82) | [Fact]
method NoCustomUserAgentIsSetInOptions_UserAgentIsAppendedToDefaultUserAgent (line 113) | [Fact]
method CustomApiBaseUrlIsSetInOptions_RequestsAreRoutedToCustomApiUrl (line 142) | [Fact]
method ProfileIdIsSetInOptions_ForPostRequest_RequestProfileIdIsSet (line 163) | [Fact]
method TestModeIsSetInOptions_ForPostRequest_RequestTestModeIsSet (line 189) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/CapabilityClientTests.cs
class CapabilityClientTests (line 13) | public class CapabilityClientTests {
method GetCapabilityListAsync_ResponseIsDeserializedInExpectedFormat (line 15) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/CaptureClientTests.cs
class CaptureClientTests (line 15) | public class CaptureClientTests : BaseClientTests {
method GetCaptureAsync_CorrectQueryParametersAreAdded (line 69) | [Theory]
method GetCapturesListAsync_CorrectQueryParametersAreAdded (line 87) | [Theory]
method GetCaptureAsync_DefaultBehaviour_ResponseIsParsed (line 104) | [Fact]
method GetCapturesListAsync_DefaultBehaviour_ResponseIsParsed (line 126) | [Fact]
method GetCaptureAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 150) | [Theory]
method GetCaptureAsync_NoCaptureIdIsGiven_ArgumentExceptionIsThrown (line 169) | [Theory]
method GetCapturesListAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 189) | [Theory]
method CreateCapture_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 208) | [Theory]
method CreateCapture_CaptureIsCreated_CaptureIsDeserialized (line 231) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/ChargebackClientTests.cs
class ChargebackClientTests (line 11) | public class ChargebackClientTests : BaseClientTests {
method GetChargebackAsync_ResponseIsDeserializedInExpectedFormat (line 51) | [Fact]
method GetOrderRefundListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 71) | [Theory]
method GetChargebacksListAsync_FromLimitTestmodeQueryParameterOptions_CorrectParametersAreAdded (line 89) | [Theory]
method GetChargebacksListAsync_ProfileTestModeQueryParameterOptions_CorrectParametersAreAdded (line 109) | [Theory]
method GetChargebackAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 128) | [Theory]
method GetChargebackAsync_NoChargeBackIdIsGiven_ArgumentExceptionIsThrown (line 147) | [Theory]
method GetChargebacksListAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 166) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/ClientClientTests.cs
class ClientClientTests (line 11) | public class ClientClientTests : BaseClientTests {
method GetClientAsync_WithoutClientId_ThrowsArgumentException (line 12) | [Fact]
method GetClientAsync_WithClientId_ResponseIsDeserializedInExpectedFormat (line 26) | [Fact]
method GetClientAsync_WithEmbeddedParameters_GeneratesExpectedUrl (line 57) | [Theory]
method GetClientListAsync_WithQueryParameters_QueryStringOnlyContainsTestModeParameterIfTrue (line 82) | [Theory]
method GetClienListAsync_ResponseIsDeserializedInExpectedFormat (line 107) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/ClientLinkClientTests.cs
class ClientLinkClientTests (line 14) | public class ClientLinkClientTests : BaseClientTests
method CreateClientLinkAsync_ResponseIsDeserializedInExpectedFormat (line 16) | [Fact]
method GenerateClientLinkWithParameters_GeneratesExpectedUrl (line 47) | [Theory]
method CreateClientLinkResponseJson (line 80) | private string CreateClientLinkResponseJson(string id, string clientLi...
FILE: tests/Mollie.Tests.Unit/Client/ConnectClientTests.cs
class ConnectClientTests (line 15) | public class ConnectClientTests : BaseClientTests
method GetAuthorizationUrl_WithCustomWithSingleScope_GeneratesAuthorizationUrl (line 20) | [Fact]
method GetAuthorizationUrl_WithSingleScope_GeneratesAuthorizationUrl (line 42) | [Fact]
method GetAccessTokenAsync_WithRefreshToken_ResponseIsDeserializedInExpectedFormat (line 58) | [Theory]
method RevokeTokenAsync_SendsRequest (line 85) | [Fact]
method RevokeTokenAsync_WithCustomTokenEndpoints_SendsRequestToCustomEndpoint (line 107) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/CustomerClientTests.cs
class CustomerClientTests (line 14) | public class CustomerClientTests : BaseClientTests {
method GetCustomerAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 15) | [Theory]
method GetCustomerListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 36) | [Theory]
method GetCustomerPaymentListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 57) | [Theory]
method DeleteCustomerAsync_TestmodeIsTrue_RequestContainsTestmodeModel (line 80) | [Fact]
method UpdateCustomerAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 96) | [Theory]
method DeleteCustomerAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 115) | [Theory]
method GetCustomerAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 134) | [Theory]
method GetCustomerPaymentListAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 153) | [Theory]
method CreateCustomerPayment_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 172) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/InvoiceClientTests.cs
class InvoiceClientTests (line 10) | public class InvoiceClientTests : BaseClientTests
method GetInvoiceAsync_DefaultBehaviour_ResponseIsParsed (line 12) | [Fact]
method GetInvoiceListAsync_WithVariousParameters_QueryStringMatchesExpectedValue (line 36) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/MandateClientTests.cs
class MandateClientTests (line 12) | public class MandateClientTests : BaseClientTests {
method GetMandateAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 13) | [Theory]
method GetMandateListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 35) | [Theory]
method RevokeMandate_TestmodeIsTrue_RequestContainsTestmodeModel (line 58) | [Fact]
method GetMandateAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 79) | [Theory]
method GetMandateAsync_NoMandateIdIsGiven_ArgumentExceptionIsThrown (line 99) | [Theory]
method GetMandateListAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 119) | [Theory]
method CreateMandateAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 138) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/OnboardingClientTests.cs
class OnboardingClientTests (line 11) | public class OnboardingClientTests : BaseClientTests {
method GetOnboardingStatusAsync_DefaultBehaviour_ResponseIsParsed (line 27) | [Fact]
method SubmitOnboardingDataAsync_DefaultBehaviour_RequestIsParsed (line 47) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/OrderClientTests.cs
class OrderClientTests (line 20) | public class OrderClientTests : BaseClientTests {
method GetOrderAsync_NoEmbedParameters_QueryStringIsEmpty (line 21) | [Fact]
method GetOrderAsync_SingleEmbedParameters_QueryStringContainsEmbedParameter (line 36) | [Fact]
method GetOrderAsync_MultipleEmbedParameters_QueryStringContainsMultipleParameters (line 51) | [Fact]
method GetOrderAsync_WithTestModeParameter_QueryStringContainsTestModeParameter (line 66) | [Fact]
method GetOrderListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 81) | [Theory]
method CreateOrderAsync_SinglePaymentMethod_RequestIsSerializedInExpectedFormat (line 109) | [Fact]
method CreateOrderAsync_MultiplePaymentMethods_RequestIsSerializedInExpectedFormat (line 128) | [Fact]
method CreateOrderPaymentAsync_PaymentWithSinglePaymentMethod_RequestIsSerializedInExpectedFormat (line 150) | [Fact]
method CreateOrderPaymentAsync_PaymentWithMultiplePaymentMethods_RequestIsSerializedInExpectedFormat (line 175) | [Fact]
method GetOrderAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 202) | [Theory]
method UpdateOrderAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 221) | [Theory]
method UpdateOrderLinesAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 240) | [Theory]
method UpdateOrderLinesAsync_NoOrderLineIdIsGiven_ArgumentExceptionIsThrown (line 259) | [Theory]
method ManageOrderLinesAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 278) | [Theory]
method CancelOrderAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 308) | [Theory]
method CreateOrderPaymentAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 327) | [Theory]
method CreateOrderRequestWithOnlyRequiredFields (line 346) | private OrderRequest CreateOrderRequestWithOnlyRequiredFields() {
FILE: tests/Mollie.Tests.Unit/Client/OrganizationClientTests.cs
class OrganizationClientTests (line 12) | public class OrganizationClientTests : BaseClientTests
method GetCurrentOrganizationAsync_ResponseIsDeserializedInExpectedFormat (line 14) | [Fact]
method GetOrganizationAsync_ResponseIsDeserializedInExpectedFormat (line 32) | [Fact]
method GetOrganizationsListAsync_ResponseIsDeserializedInExpectedFormat (line 51) | [Fact]
method GetPartnerStatusAsync_ResponseIsDeserializedInExpectedFormat (line 70) | [Fact]
method AssertDefaultOrganization (line 95) | private void AssertDefaultOrganization(OrganizationResponse response)
FILE: tests/Mollie.Tests.Unit/Client/PaymentClientTests.cs
class PaymentClientTests (line 20) | public class PaymentClientTests : BaseClientTests {
method CreatePaymentAsync_WithCustomIdempotencyKey_CustomIdemPotencyKeyIsSent (line 21) | [Fact]
method CreatePaymentAsync_PaymentWithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 58) | [Fact]
method CreatePaymentAsync_PaymentWithSinglePaymentMethod_RequestIsSerializedInExpectedFormat (line 103) | [Fact]
method CreatePaymentAsync_PaymentWithMultiplePaymentMethods_RequestIsSerializedInExpectedFormat (line 134) | [Fact]
method CreatePayment_WithRoutingInformation_RequestIsSerializedInExpectedFormat (line 169) | [Fact]
method CreatePaymentAsync_IncludeQrCode_QueryStringContainsIncludeQrCodeParameter (line 232) | [Fact]
method GetPaymentAsync_NoIncludeParameters_RequestIsDeserializedInExpectedFormat (line 252) | [Fact]
method GetPaymentAsync_ForBankTransferPayment_DetailsAreDeserialized (line 290) | [Fact]
method GetPaymentAsync_ForBanContactPayment_DetailsAreDeserialized (line 365) | [Fact]
method CreatePaymentAsync_SepaDirectDebit_RequestAndResponseAreConvertedToExpectedJsonFormat (line 417) | [Fact]
method GetPaymentAsync_ForPayPalPayment_DetailsAreDeserialized (line 501) | [Fact]
method CreatePaymentAsync_CreditcardPayment_RequestAndResponseAreConvertedToExpectedJsonFormat (line 566) | [Fact]
method CreatePaymentAsync_GiftcardPayment_RequestAndResponseAreConvertedToExpectedJsonFormat (line 676) | [Fact]
method GetPaymentAsync_ForBelfiusPayment_DetailsAreDeserialized (line 764) | [Fact]
method GetPaymentAsync_ForIngHomePay_DetailsAreDeserialized (line 802) | [Fact]
method GetPaymentAsync_ForKbcPayment_DetailsAreDeserialized (line 841) | [Fact]
method GetPaymentAsync_ForSofortPayment_DetailsAreDeserialized (line 880) | [Fact]
method GetPaymentAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 919) | [Theory]
method GetPaymentAsync_IncludeQrCode_QueryStringContainsIncludeQrCodeParameter (line 938) | [Fact]
method GetPaymentAsync_IncludeRemainderDetails_QueryStringContainsIncludeRemainderDetailsParameter (line 978) | [Fact]
method GetPaymentListAsync_IncludeQrCode_QueryStringContainsIncludeQrCodeParameter (line 993) | [Fact]
method GetPaymentAsync_EmbedRefunds_QueryStringContainsEmbedRefundsParameter (line 1007) | [Fact]
method GetPaymentListAsync_EmbedRefunds_QueryStringContainsEmbedRefundsParameter (line 1023) | [Fact]
method GetPaymentAsync_EmbedChargebacks_QueryStringContainsEmbedChargebacksParameter (line 1038) | [Fact]
method GetPaymentListAsync_EmbedChargebacks_QueryStringContainsEmbedChargebacksParameter (line 1054) | [Fact]
method GetPaymentListAsync_AddSortDirection_QueryStringContainsSortDirection (line 1069) | [Theory]
method DeletePaymentAsync_TestmodeIsTrue_RequestContainsTestmodeModel (line 1087) | [Fact]
method ReleasePaymentAuthorizationAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 1103) | [Theory]
method ReleasePaymentAuthorizationAsync_WithTestModeParameter_QueryStringContainsTestModeParameter (line 1122) | [Fact]
method DeletePaymentAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 1140) | [Theory]
method UpdatePaymentAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 1159) | [Theory]
method AssertPaymentIsEqual (line 1178) | private void AssertPaymentIsEqual(PaymentRequest paymentRequest, Payme...
FILE: tests/Mollie.Tests.Unit/Client/PaymentLinkClientTests.cs
class PaymentLinkClientTests (line 19) | public class PaymentLinkClientTests : BaseClientTests {
method CreatePaymentLinkAsync_PaymentLinkWithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 25) | [Fact]
method GetPaymentLinkAsync_ResponseIsDeserializedInExpectedFormat (line 49) | [Fact]
method GetPaymentLinkAsync_NoPaymentLinkIdIsGiven_ArgumentExceptionIsThrown (line 66) | [Theory]
method DeletePaymentLinkAsync_QueryParameterOptions_CorrectParametersAreAdded (line 85) | [Theory]
method GetPaymentLinkPaymentListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 110) | [Theory]
method GetPaymentLinkPaymentListAsync_ResponseIsDeserializedInExpectedFormat (line 138) | [Fact]
method VerifyPaymentLinkResponse (line 163) | private void VerifyPaymentLinkResponse(PaymentLinkResponse response) {
FILE: tests/Mollie.Tests.Unit/Client/PaymentMethodClientTests.cs
class PaymentMethodClientTests (line 11) | public class PaymentMethodClientTests : BaseClientTests {
method GetAllPaymentMethodListAsync_NoAmountParameter_QueryStringIsEmpty (line 25) | [Fact]
method GetAllPaymentMethodListAsync_AmountParameterIsAdded_QueryStringContainsAmount (line 39) | [Fact]
method GetAllPaymentMethodListAsync_ProfileIdParameterIsSpecified_QueryStringContainsProfileIdParameter (line 53) | [Fact]
method GetPaymentMethodListAsync_IncludeWalletsParameterIsSpecified_QueryStringContainsIncludeWalletsParameter (line 68) | [Fact]
method GetPaymentMethodAsync_NoPaymentMethodIsGiven_ArgumentExceptionIsThrown (line 83) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/PermissionClientTests.cs
class PermissionClientTests (line 11) | public class PermissionClientTests : BaseClientTests
method GetPermissionAsync_WithPermissionId_ResponseIsDeserializedInExpectedFormat (line 13) | [Fact]
method GetPermissionAsync_WithoutPermissionId_ThrowsArgumentException (line 41) | [Fact]
method GetPermissionListAsync_ResponseIsDeserializedInExpectedFormat (line 56) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/ProfileClientTests.cs
class ProfileClientTests (line 17) | public class ProfileClientTests : BaseClientTests
method CreateProfileAsync_WithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 19) | [Fact]
method GetProfileAsync_WithProfileId_ResponseIsDeserializedInExpectedFormat (line 52) | [Fact]
method GetCurrentProfileAsync_ResponseIsDeserializedInExpectedFormat (line 72) | [Fact]
method GetProfileListAsync_WithNoParameters_ResponseIsDeserializedInExpectedFormat (line 91) | [Fact]
method UpdateProfileAsync_WithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 139) | [Fact]
method UpdateProfileAsync_WithMissingProfileIdParameter_ThrowsArgumentException (line 167) | [Fact]
method EnablePaymentMethodAsync_ForCurrentProfile_ResponseIsDeserializedInExpectedFormat (line 191) | [Fact]
method EnablePaymentMethodAsync_ForCurrentProfileWithMissingPaymentMethodParameter_ThrowsArgumentException (line 212) | [Fact]
method DisablePaymentMethodAsync_ForCurrentProfile_SendsRequest (line 227) | [Fact]
method DisablePaymentMethodAsync_ForCurrentProfileWithMissingPaymentMethodParameter_ThrowsArgumentException (line 246) | [Fact]
method DeleteProfileAsync_ForGivenProfileId_SendsRequest (line 261) | [Fact]
method DeleteProfileAsync_WithMissingProfileIdParameter_ThrowsArgumentException (line 280) | [Fact]
method EnableGiftCardIssuerAsync_ForCurrentProfile_ResponseIsDeserializedInExpectedFormat (line 295) | [Fact]
method EnableGiftCardIssuerAsync_ForCurrentProfileWithMissingIssuerParameter_ThrowsArgumentException (line 318) | [Fact]
method DisableGiftCardIssuerAsync_ForCurrentProfile_SendsRequest (line 333) | [Fact]
method DisableGiftCardIssuerAsync_ForCurrentProfileWithMissingIssuerParameter_ThrowsArgumentException (line 352) | [Fact]
method AssertDefaultProfileResponse (line 367) | private void AssertDefaultProfileResponse(ProfileResponse result)
FILE: tests/Mollie.Tests.Unit/Client/RefundClientTests.cs
class RefundClientTests (line 18) | public class RefundClientTests : BaseClientTests {
method GetRefundAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 51) | [Theory]
method CreateRefundAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 70) | [Theory]
method CreateRefundAsync_WithReverseRouting_ResponseIsDeserializedInExpectedFormat (line 92) | [Theory]
method CreateRefundAsync_WithRoutingInformation_ResponseIsDeserializedInExpectedFormat (line 135) | [Fact]
method GetRefundListAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 195) | [Theory]
method GetRefundAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 214) | [Theory]
method GetRefundAsync_NoRefundIsGiven_ArgumentExceptionIsThrown (line 233) | [Theory]
method CancelRefundAsync_NoPaymentIdIsGiven_ArgumentExceptionIsThrown (line 252) | [Theory]
method CancelRefundAsync_NoRefundIsGiven_ArgumentExceptionIsThrown (line 271) | [Theory]
method GetOrderRefundListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 290) | [Theory]
method CreateOrderRefundAsync_WithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 309) | [Fact]
method CreateOrderRefundAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 348) | [Theory]
method GetOrderRefundListAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 371) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/SalesInvoiceClientTests.cs
class SalesInvoiceClientTests (line 13) | public class SalesInvoiceClientTests : BaseClientTests {
method CreateSalesInvoiceAsync_ShouldReturnSalesInvoiceResponse (line 14) | [Fact]
method GetSalesInvoiceAsync_ShouldReturnSalesInvoiceResponse (line 68) | [Fact]
method UpdateSalesInvoiceAsync_ShouldReturnUpdatedSalesInvoiceResponse (line 99) | [Fact]
method DeleteSalesInvoiceAsync_ShouldNotThrowException (line 118) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/SettlementClientTests.cs
class SettlementClientTests (line 14) | public class SettlementClientTests : BaseClientTests {
method ListSettlementCaptures_DefaultBehaviour_ResponseIsParsed (line 15) | [Fact]
method GetOpenSettlement_DefaultBehaviour_ResponseIsParsed (line 53) | [Fact]
method GetOpenSettlement_ResponseWithEmptyPeriods_ResponseIsParsed (line 120) | [Fact]
method GetSettlementAsync_NoSettlementIdIsGiven_ArgumentExceptionIsThrown (line 137) | [Theory]
method GetSettlementPaymentsListAsync_NoSettlementIdIsGiven_ArgumentExceptionIsThrown (line 156) | [Theory]
method GetSettlementRefundsListAsync_NoSettlementIdIsGiven_ArgumentExceptionIsThrown (line 175) | [Theory]
method GetSettlementChargebacksListAsync_NoSettlementIdIsGiven_ArgumentExceptionIsThrown (line 194) | [Theory]
method GetSettlementCapturesListAsync_NoSettlementIdIsGiven_ArgumentExceptionIsThrown (line 213) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/ShipmentClientTests.cs
class ShipmentClientTests (line 15) | public class ShipmentClientTests : BaseClientTests {
method CreateShipmentAsync_ValidShipment_ResponseIsDeserializedInExpectedFormat (line 16) | [Fact]
method GetShipmentAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 56) | [Theory]
method GetShipmentsListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 78) | [Theory]
method UpdateShipmentAsync_ValidUpdateShipmentRequest_ResponseIsDeserializedInExpectedFormat (line 99) | [Fact]
method CreateShipmentAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 133) | [Theory]
method GetShipmentAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 152) | [Theory]
method GetShipmentAsync_NoShipmentIdIsGiven_ArgumentExceptionIsThrown (line 171) | [Theory]
method GetShipmentsListAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 190) | [Theory]
method UpdateShipmentAsync_NoOrderIdIsGiven_ArgumentExceptionIsThrown (line 209) | [Theory]
method UpdateShipmentAsync_NoShipmentIdIsGiven_ArgumentExceptionIsThrown (line 235) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/SubscriptionClientTests.cs
class SubscriptionClientTests (line 12) | public class SubscriptionClientTests : BaseClientTests {
method GetSubscriptionListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 13) | [Theory]
method GetAllSubscriptionList_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 37) | [Theory]
method GetSubscriptionAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 59) | [Theory]
method RevokeMandate_TestmodeIsTrue_RequestContainsTestmodeModel (line 81) | [Fact]
method GetSubscriptionPaymentListAsync_TestModeParameterCase_QueryStringOnlyContainsTestModeParameterIfTrue (line 103) | [Theory]
method GetSubscriptionListAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 126) | [Theory]
method GetSubscriptionAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 145) | [Theory]
method GetSubscriptionAsync_NoSubscriptionIdIsGiven_ArgumentExceptionIsThrown (line 164) | [Theory]
method CreateSubscriptionAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 183) | [Theory]
method CancelSubscriptionAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 211) | [Theory]
method CancelSubscriptionAsync_NoSubscriptionIdIsGiven_ArgumentExceptionIsThrown (line 230) | [Theory]
method UpdateSubscriptionAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 249) | [Theory]
method UpdateSubscriptionAsync_NoSubscriptionIdIsGiven_ArgumentExceptionIsThrown (line 268) | [Theory]
method GetSubscriptionPaymentListAsync_NoCustomerIdIsGiven_ArgumentExceptionIsThrown (line 287) | [Theory]
method GetSubscriptionPaymentListAsync_NoSubscriptionIdIsGiven_ArgumentExceptionIsThrown (line 306) | [Theory]
FILE: tests/Mollie.Tests.Unit/Client/TerminalClientTests.cs
class TerminalClientTests (line 13) | public class TerminalClientTests : BaseClientTests {
method GetTerminalAsync_NoTerminalIdIsGiven_ArgumentExceptionIsThrown (line 14) | [Theory]
method GetTerminalAsync_WithTerminalId_ResponseIsDeserializedInExpectedFormat (line 33) | [Fact]
method GetTerminalAsync_QueryParameterOptions_CorrectParametersAreAdded (line 65) | [Theory]
method GetTerminalListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 90) | [Theory]
method GetTerminalListAsync_ResponseIsDeserializedInExpectedFormat (line 113) | [Fact]
method CreateTerminalListJsonResponse (line 134) | private string CreateTerminalListJsonResponse() {
method CreateTerminalJsonResponse (line 162) | private string CreateTerminalJsonResponse(string terminalId, string de...
FILE: tests/Mollie.Tests.Unit/Client/WalletClientTest.cs
class WalletClientTest (line 11) | public class WalletClientTest : BaseClientTests {
method RequestApplePayPaymentSessionAsync_ResponseIsDeserializedInExpectedFormat (line 23) | [Fact]
FILE: tests/Mollie.Tests.Unit/Client/WebhookClientTests.cs
class WebhookClientTests (line 18) | public class WebhookClientTests : BaseClientTests {
method CreateWebhookAsync_WebhookWithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 19) | [Fact]
method UpdateWebhookAsync_WebhookWithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 49) | [Fact]
method DeleteWebhookAsync_WebhookWithRequiredParameters_ResponseIsDeserializedInExpectedFormat (line 79) | [Fact]
method GetWebhookAsync_NoWebhookIdIsGiven_ArgumentExceptionIsThrown (line 95) | [Theory]
method GetWebhookAsync_WithWebhookId_ResponseIsDeserializedInExpectedFormat (line 116) | [Fact]
method GetWebhookAsync_QueryParameterOptions_CorrectParametersAreAdded (line 148) | [Theory]
method GetWebhookListAsync_QueryParameterOptions_CorrectParametersAreAdded (line 172) | [Theory]
method GetWebhookListAsync_ResponseIsDeserializedInExpectedFormat (line 193) | [Fact]
method CreateWebhookListJsonResponse (line 214) | private string CreateWebhookListJsonResponse() {
method CreateWebhookJsonResponse (line 246) | private string CreateWebhookJsonResponse(string webhookId, string name...
FILE: tests/Mollie.Tests.Unit/Client/WebhookEventClientTests.cs
class WebhookEventClientTests (line 13) | public class WebhookEventClientTests : BaseClientTests {
method GetWebhookEventAsync_NoWebhookIdIsGiven_ArgumentExceptionIsThrown (line 14) | [Theory]
method GetWebhookEventAsync_QueryParameterOptions_CorrectParametersAreAdded (line 35) | [Theory]
method GetWebhookEventAsync_With_Generic_Parameter_ResponseIsDeserializedInExpectedFormat (line 59) | [Fact]
method GetWebhookEventAsync_ResponseIsDeserializedInExpectedFormat (line 98) | [Fact]
method CreateWebhookEventJsonResponse (line 127) | private string CreateWebhookEventJsonResponse(string webhookEventId, s...
method CreatePaymentLinkJsonResponse (line 154) | private string CreatePaymentLinkJsonResponse(string entityId) {
FILE: tests/Mollie.Tests.Unit/DependencyInjectionTests.cs
class DependencyInjectionTests (line 12) | public class DependencyInjectionTests
method AddMollieClient_ShouldRegisterAllApiInterfaces (line 14) | [Fact]
FILE: tests/Mollie.Tests.Unit/Extensions/DictionaryExtensionsTests.cs
class DictionaryExtensionsTests (line 8) | public class DictionaryExtensionsTests
method ToQueryString_WhenMultipleKeyValuePairsAreAdded_MultipleParametersAreAddedToQueryString (line 10) | [Fact]
method ToQueryString_WhenDictionaryIsEmpty_QueryStringIsEmpty (line 28) | [Fact]
method AddValueIfNotNullOrEmpty_ValueIsNotNull_ValueIsAdded (line 42) | [Fact]
method AddValueIfNotNullOrEmpty_ValueIsEmpty_ValueIsNotAdded (line 58) | [Fact]
method AddValueIfTrue_ValueIsTrue_ValueIsAdded (line 71) | [Fact]
method AddValueIfTrue_ValueIsFalse_ValueIsNotAdded (line 86) | [Fact]
FILE: tests/Mollie.Tests.Unit/Framework/AmountConversionTests.cs
class AmountConversionTests (line 6) | public class AmountConversionTests {
method InvalidAmountValueWillThrowInvalidCastException (line 7) | [Fact]
FILE: tests/Mollie.Tests.Unit/Framework/Factories/BalanceReportResponseFactoryTests.cs
class BalanceReportResponseFactoryTests (line 10) | public class BalanceReportResponseFactoryTests {
method Create_CreatesExpectedType (line 11) | [Theory]
FILE: tests/Mollie.Tests.Unit/Framework/Factories/BalanceTransactionFactoryTests.cs
class BalanceTransactionFactoryTests (line 9) | public class BalanceTransactionFactoryTests {
method Create_CreatesTypeBasedOnType (line 10) | [Theory]
FILE: tests/Mollie.Tests.Unit/Framework/Factories/PaymentResponseFactoryTests.cs
class PaymentResponseFactoryTests (line 10) | public class PaymentResponseFactoryTests {
method Create_CreatesTypeBasedOnPaymentMethod (line 11) | [Theory]
FILE: tests/Mollie.Tests.Unit/Framework/JsonConverterServiceTests.cs
class JsonConverterServiceTests (line 10) | public class JsonConverterServiceTests {
method Serialize_JsonData_IsSerialized (line 11) | [Fact]
method Deserialize_JsonData_IsDeserialized (line 30) | [Fact]
method Deserialize_StringData_IsDeserialized (line 48) | [Fact]
method Deserialize_JsonDataWithNullValues_IsDeserialized (line 62) | [Fact]
FILE: tests/Mollie.Tests.Unit/Models/AmountTests.cs
class AmountTests (line 7) | public class AmountTests {
method CreateAmount_DecimalIsConverted_ValueHasCorrectFormat (line 8) | [Theory]
method Amount_ConvertedToDecimal_IsEqualToOriginalValue (line 22) | [Fact]
method NullableAmount_ConvertedToNullableDecimal_IsEqualToOriginalValue (line 35) | [Fact]
method NullAmount_ConvertedToNullableDecimal_IsNull (line 48) | [Fact]
FILE: tests/Mollie.Tests.Unit/Models/Payment/Request/PaymentRequestTests.cs
class PaymentRequestTests (line 11) | public class PaymentRequestTests {
method CreatePaymentRequest (line 12) | [Theory]
Condensed preview — 494 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,356K chars).
[
{
"path": ".editorconfig",
"chars": 5084,
"preview": "# editorconfig.org\n\n# top-most EditorConfig file\nroot = true\n\n# Default settings:\n# A newline ending every file\n# Use 4 "
},
{
"path": ".gitattributes",
"chars": 378,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs diff=csharp\n\n# St"
},
{
"path": ".github/FUNDING.yml",
"chars": 20,
"preview": "github: [Viincenttt]"
},
{
"path": ".github/workflows/dotnetcore.yml",
"chars": 2966,
"preview": "name: Run automated tests\n\non: [push]\n\njobs:\n build:\n runs-on: ubuntu-latest\n\n steps:\n - uses: actions/check"
},
{
"path": ".gitignore",
"chars": 4289,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
},
{
"path": "AGENTS.md",
"chars": 9085,
"preview": "# Agents Guide — Mollie API Client for .NET\n\nThis document describes the project structure, conventions, and guidelines "
},
{
"path": "Directory.Build.props",
"chars": 2345,
"preview": "<Project>\n <PropertyGroup>\n <!-- Package identity -->\n <Version>4.19.0.0</Version>\n <AssemblyVersion>4.19.0.0<"
},
{
"path": "LICENSE",
"chars": 1068,
"preview": "MIT License\n\nCopyright (c) 2023 Vincent Kok\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
},
{
"path": "MollieApi.sln",
"chars": 3744,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.2992"
},
{
"path": "README.md",
"chars": 9256,
"preview": "# Mollie Api Client for .NET\n[](https://www.nuget.org/packages/Mo"
},
{
"path": "mollie.publickey.txt",
"chars": 1089,
"preview": "002400000480000014020000060200000024000052534131001000000100010015769730260dcfc1911c5d3c54057de5037b99dc84a12ae40ee60b78"
},
{
"path": "samples/Mollie.WebApplication.Blazor/App.razor",
"chars": 460,
"preview": "<Router AppAssembly=\"@typeof(App).Assembly\">\n <Found Context=\"routeData\">\n <RouteView RouteData=\"@routeData\" "
},
{
"path": "samples/Mollie.WebApplication.Blazor/Framework/StaticStringListBuilder.cs",
"chars": 463,
"preview": "using System.Reflection;\n\nnamespace Mollie.WebApplication.Blazor.Framework;\n\npublic static class StaticStringListBuilde"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Framework/Validators/DecimalPlacesAttribute.cs",
"chars": 1181,
"preview": "using System.ComponentModel.DataAnnotations;\nusing System.Globalization;\n\nnamespace Mollie.WebApplication.Blazor.Framew"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Framework/Validators/StaticStringListAttribute.cs",
"chars": 801,
"preview": "using System.ComponentModel.DataAnnotations;\nusing System.Reflection;\n\nnamespace Mollie.WebApplication.Blazor.Framework"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Customer/CreateCustomerModel.cs",
"chars": 269,
"preview": "using System.ComponentModel.DataAnnotations;\n\nnamespace Mollie.WebApplication.Blazor.Models.Customer;\n\npublic class Cre"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Mandate/CreateMandateModel.cs",
"chars": 350,
"preview": "using System.ComponentModel.DataAnnotations;\n\nnamespace Mollie.WebApplication.Blazor.Models.Mandate;\n\npublic class Crea"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderBillingAddressModel.cs",
"chars": 652,
"preview": "using System.ComponentModel.DataAnnotations;\n\nnamespace Mollie.WebApplication.Blazor.Models.Order;\n\npublic class Create"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderLineModel.cs",
"chars": 816,
"preview": "using System.ComponentModel.DataAnnotations;\nusing Mollie.WebApplication.Blazor.Framework.Validators;\n\nnamespace Mollie"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Order/CreateOrderModel.cs",
"chars": 726,
"preview": "using System.ComponentModel.DataAnnotations;\nusing Mollie.Api.Models;\nusing Mollie.WebApplication.Blazor.Framework.Vali"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Payment/CreatePaymentModel.cs",
"chars": 864,
"preview": "using System.ComponentModel.DataAnnotations;\nusing Mollie.Api.Models;\nusing Mollie.WebApplication.Blazor.Framework.Vali"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/PaymentLink/CreatePaymentModel.cs",
"chars": 713,
"preview": "using System.ComponentModel.DataAnnotations;\nusing Mollie.Api.Models;\nusing Mollie.WebApplication.Blazor.Framework.Vali"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Subscription/CreateSubscriptionModel.cs",
"chars": 987,
"preview": "using System.ComponentModel.DataAnnotations;\nusing Mollie.Api.Models;\nusing Mollie.WebApplication.Blazor.Framework.Vali"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Subscription/IntervalPeriod.cs",
"chars": 124,
"preview": "namespace Mollie.WebApplication.Blazor.Models.Subscription;\n\npublic enum IntervalPeriod {\n Months,\n Weeks,\n Da"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Models/Webhook/CreateWebhookModel.cs",
"chars": 387,
"preview": "using System.ComponentModel.DataAnnotations;\n\nnamespace Mollie.WebApplication.Blazor.Models.Webhook;\n\npublic class Crea"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Mollie.WebApplication.Blazor.csproj",
"chars": 503,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n\n <PropertyGroup>\n <TargetFramework>net10.0</TargetFramework>\n <N"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Customer/Create.razor",
"chars": 1606,
"preview": "@page \"/customer/create\"\n\n@using Mollie.WebApplication.Blazor.Models.Customer\n@using Mollie.Api.Client\n@using Mollie.Ap"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Customer/Overview.razor",
"chars": 2176,
"preview": "@page \"/customer/overview\"\n@using Mollie.Api.Models.Customer.Response\n@using Mollie.Api.Models.List.Response\n\n@inject I"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Error.cshtml",
"chars": 1441,
"preview": "@page\n@model Mollie.WebApplication.Blazor.Pages.ErrorModel\n\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset="
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Error.cshtml.cs",
"chars": 517,
"preview": "using System.Diagnostics;\nusing Microsoft.AspNetCore.Mvc;\nusing Microsoft.AspNetCore.Mvc.RazorPages;\n\nnamespace Mollie."
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Index.razor",
"chars": 636,
"preview": "@page \"/\"\n\n<PageTitle>Mollie Example Project</PageTitle>\n\n<section class=\"jumbotron text-center\">\n <div class=\"conta"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Mandate/Create.razor",
"chars": 2846,
"preview": "@page \"/customer/{customerId}/mandate/create\"\n@using Mollie.WebApplication.Blazor.Models.Mandate\n@using Mollie.Api.Clie"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Mandate/Overview.razor",
"chars": 1813,
"preview": "@page \"/customer/{customerId}/mandate/overview\"\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.Mandate"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Order/Components/OrderAddressEditor.razor",
"chars": 1613,
"preview": "@using Mollie.WebApplication.Blazor.Models.Order\n\n<div class=\"form-group\">\n <label for=\"given-name\">Given name</labe"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Order/Components/OrderLineEditor.razor",
"chars": 3710,
"preview": "@using Mollie.WebApplication.Blazor.Models.Order\n\n<EditForm Model=\"_newOrderLineModel\" OnValidSubmit=\"@OnAddOrderLine\">"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Order/Create.razor",
"chars": 4671,
"preview": "@page \"/order/create\"\n\n@using Mollie.WebApplication.Blazor.Pages.Order.Components\n@using Mollie.WebApplication.Blazor.M"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Order/Overview.razor",
"chars": 2141,
"preview": "@page \"/order/overview\"\n@using Mollie.Api.Models.Order.Response\n@using Mollie.Api.Models.List.Response\n\n@inject IOrderC"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Payment/Create.razor",
"chars": 4188,
"preview": "@page \"/payment/create\"\n\n@using Mollie.Api.Models.Payment.Request\n@using Mollie.WebApplication.Blazor.Models.Payment\n@u"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Payment/Overview.razor",
"chars": 2524,
"preview": "@page \"/payment/overview\"\n@using Mollie.Api.Models.List.Response\n\n@inject IPaymentClient PaymentClient\n\n<h3>Payments</h"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/PaymentLink/Create.razor",
"chars": 2819,
"preview": "@page \"/paymentlink/create\"\n\n@using Mollie.Api.Models.PaymentLink.Request\n@using Mollie.WebApplication.Blazor.Models.Pa"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/PaymentLink/Overview.razor",
"chars": 1970,
"preview": "@page \"/paymentlink/overview\"\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.PaymentLink.Response\n\n@in"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/PaymentMethod/Overview.razor",
"chars": 1270,
"preview": "@page \"/payment-method/overview\"\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.PaymentMethod.Response"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Subscription/Create.razor",
"chars": 3740,
"preview": "@page \"/customer/{customerId}/subscription/create\"\n\n@using Mollie.WebApplication.Blazor.Models.Subscription\n@using Moll"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Subscription/Overview.razor",
"chars": 2232,
"preview": "@page \"/customer/{customerId}/subscription/overview\"\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.Su"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Terminal/Overview.razor",
"chars": 1849,
"preview": "@page \"/terminal/overview\"\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.Terminal.Response\n\n@inject I"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Webhook/Components/EventTypeEditor.razor",
"chars": 1990,
"preview": "@using Mollie.Api.Models.Webhook\n\n<EditForm Model=\"EventTypes\" OnValidSubmit=\"@OnAddEventType\">\n <DataAnnotationsVal"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Webhook/Create.razor",
"chars": 2109,
"preview": "@page \"/webhook/create\"\n\n@using Mollie.WebApplication.Blazor.Models.Webhook\n@using Mollie.Api.Models.Webhook.Request\n@u"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/Webhook/Overview.razor",
"chars": 3296,
"preview": "@page \"/webhook/overview\"\n@using Mollie.Api.Client\n@using Mollie.Api.Models.List.Response\n@using Mollie.Api.Models.Webh"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Pages/_Host.cshtml",
"chars": 1191,
"preview": "@page \"/\"\n@using Microsoft.AspNetCore.Components.Web\n@namespace Mollie.WebApplication.Blazor.Pages\n@addTagHelper *, Mic"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Program.cs",
"chars": 1104,
"preview": "using Mollie.Api;\nusing Mollie.Api.AspNet;\nusing Mollie.Api.Framework;\nusing Mollie.WebApplication.Blazor.Webhooks.Nextg"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Properties/launchSettings.json",
"chars": 703,
"preview": "{\n \"iisSettings\": {\n \"windowsAuthentication\": false,\n \"anonymousAuthentication\": true,\n \"iisExpress\": {\n "
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/ApiExceptionDisplay.razor",
"chars": 359,
"preview": "@using Mollie.Api.Client\n\n@if (Exception != null) {\n <div class=\"alert alert-danger\" role=\"alert\">\n A Mollie "
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/MainLayout.razor",
"chars": 266,
"preview": "@inherits LayoutComponentBase\n\n<PageTitle>Mollie.WebApplication.Blazor</PageTitle>\n\n<div class=\"page\">\n <div class=\""
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/MainLayout.razor.css",
"chars": 1187,
"preview": ".page {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n\nmain {\n flex: 1;\n}\n\n.sidebar {\n "
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/NavMenu.razor",
"chars": 2427,
"preview": "<div class=\"top-row ps-3 navbar navbar-dark\">\n <div class=\"container-fluid\">\n <a class=\"navbar-brand\" href=\"\""
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/NavMenu.razor.css",
"chars": 1183,
"preview": ".navbar-toggler {\n background-color: rgba(255, 255, 255, 0.1);\n}\n\n.top-row {\n height: 3.5rem;\n background-color"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Shared/OverviewNavigation.razor",
"chars": 591,
"preview": "@using Mollie.Api.Models.Url\n\n@inject NavigationManager NavManager\n\n@if (Previous != null) {\n <a class=\"btn btn-prim"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Webhooks/Classic/PaymentController.cs",
"chars": 889,
"preview": "using Microsoft.AspNetCore.Mvc;\nusing Mollie.Api.Client.Abstract;\nusing Mollie.Api.Models.Payment.Response;\n\nnamespace "
},
{
"path": "samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/Controllers/PaymentLinkController.cs",
"chars": 1418,
"preview": "using Microsoft.AspNetCore.Mvc;\nusing Mollie.Api.AspNet.Webhooks.Authorization;\nusing Mollie.Api.AspNet.Webhooks.ModelBi"
},
{
"path": "samples/Mollie.WebApplication.Blazor/Webhooks/Nextgen/MinimalApi/WebhookHandler.cs",
"chars": 1686,
"preview": "using Mollie.Api.AspNet.Webhooks.Authorization;\nusing Mollie.Api.AspNet.Webhooks.ModelBinding;\nusing Mollie.Api.Models.P"
},
{
"path": "samples/Mollie.WebApplication.Blazor/_Imports.razor",
"chars": 872,
"preview": "@using System.Net.Http\n@using Microsoft.AspNetCore.Authorization\n@using Microsoft.AspNetCore.Components.Authorization\n@"
},
{
"path": "samples/Mollie.WebApplication.Blazor/appsettings.Development.json",
"chars": 145,
"preview": "{\n \"DetailedErrors\": true,\n \"Logging\": {\n \"LogLevel\": {\n \"Default\": \"Information\",\n \"Microsoft.AspNetCore"
},
{
"path": "samples/Mollie.WebApplication.Blazor/appsettings.json",
"chars": 301,
"preview": "{\n \"Mollie\": {\n \"ApiKey\": \"<Enter your API key here>\",\n \"WebhookSecret\": \"<Your next-gen webhook secret"
},
{
"path": "samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/FONT-LICENSE",
"chars": 4017,
"preview": "SIL OPEN FONT LICENSE Version 1.1\n\nCopyright (c) 2014 Waybury\n\nPREAMBLE\nThe goals of the Open Font License (OFL) are to "
},
{
"path": "samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/ICON-LICENSE",
"chars": 1073,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Waybury\n\nPermission is hereby granted, free of charge, to any person obtaining"
},
{
"path": "samples/Mollie.WebApplication.Blazor/wwwroot/css/open-iconic/README.md",
"chars": 3535,
"preview": "[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)\n===========\n\n### Open Iconic is the open source sibling of ["
},
{
"path": "samples/Mollie.WebApplication.Blazor/wwwroot/css/site.css",
"chars": 2910,
"preview": "@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');\n\nhtml, body {\n font-family: 'Helvetica Neue', Helv"
},
{
"path": "src/Mollie.Api/Client/Abstract/IBalanceClient.cs",
"chars": 7605,
"preview": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Balance.Response;\nusing Mol"
},
{
"path": "src/Mollie.Api/Client/Abstract/IBalanceTransferClient.cs",
"chars": 1876,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.BalanceTransfer."
},
{
"path": "src/Mollie.Api/Client/Abstract/IBaseMollieClient.cs",
"chars": 175,
"preview": "using System;\n\nnamespace Mollie.Api.Client.Abstract\n{\n public interface IBaseMollieClient : IDisposable\n {\n "
},
{
"path": "src/Mollie.Api/Client/Abstract/ICapabilityClient.cs",
"chars": 334,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Capability.Response;\nusing Mollie.Api.Mod"
},
{
"path": "src/Mollie.Api/Client/Abstract/ICaptureClient.cs",
"chars": 1051,
"preview": "using System.Threading.Tasks;\nusing Mollie.Api.Models.Capture.Request;\nusing Mollie.Api.Models.Capture.Response;\nusing "
},
{
"path": "src/Mollie.Api/Client/Abstract/IChargebackClient.cs",
"chars": 976,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Chargeback.Response;\nusing Mollie.Api.Mod"
},
{
"path": "src/Mollie.Api/Client/Abstract/IClientClient.cs",
"chars": 719,
"preview": "using System.Threading.Tasks;\nusing Mollie.Api.Models.Client.Response;\nusing Mollie.Api.Models.List.Response;\nusing Sys"
},
{
"path": "src/Mollie.Api/Client/Abstract/IClientLinkClient.cs",
"chars": 587,
"preview": "using System.Collections.Generic;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.ClientL"
},
{
"path": "src/Mollie.Api/Client/Abstract/IConnectClient.cs",
"chars": 3158,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api."
},
{
"path": "src/Mollie.Api/Client/Abstract/ICustomerClient.cs",
"chars": 1779,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Customer.Request;\nusing Mollie.Api.Models"
},
{
"path": "src/Mollie.Api/Client/Abstract/IInvoiceClient.cs",
"chars": 884,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Invoice.Response;\nusing Mollie.Api.Models"
},
{
"path": "src/Mollie.Api/Client/Abstract/IMandateClient.cs",
"chars": 1227,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Ma"
},
{
"path": "src/Mollie.Api/Client/Abstract/IOnboardingClient.cs",
"chars": 490,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Onboarding.Request;\nusing Mollie.Api.Mode"
},
{
"path": "src/Mollie.Api/Client/Abstract/IOrderClient.cs",
"chars": 2339,
"preview": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.Li"
},
{
"path": "src/Mollie.Api/Client/Abstract/IOrganizationClient.cs",
"chars": 1094,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Or"
},
{
"path": "src/Mollie.Api/Client/Abstract/IPaymentClient.cs",
"chars": 7849,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.List.Response;\nu"
},
{
"path": "src/Mollie.Api/Client/Abstract/IPaymentLinkClient.cs",
"chars": 7040,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.List.Response;\nu"
},
{
"path": "src/Mollie.Api/Client/Abstract/IPaymentMethodClient.cs",
"chars": 1696,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.List.Response;\n"
},
{
"path": "src/Mollie.Api/Client/Abstract/IPermissionClient.cs",
"chars": 693,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.P"
},
{
"path": "src/Mollie.Api/Client/Abstract/IProfileClient.cs",
"chars": 2398,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.P"
},
{
"path": "src/Mollie.Api/Client/Abstract/IRefundClient.cs",
"chars": 1682,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Or"
},
{
"path": "src/Mollie.Api/Client/Abstract/ISalesInvoiceClient.cs",
"chars": 1464,
"preview": "using System;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie"
},
{
"path": "src/Mollie.Api/Client/Abstract/ISessionClient.cs",
"chars": 1366,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Pa"
},
{
"path": "src/Mollie.Api/Client/Abstract/ISettlementClient.cs",
"chars": 2692,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Capture.Response;\nusing Mollie.Api.Models"
},
{
"path": "src/Mollie.Api/Client/Abstract/IShipmentClient.cs",
"chars": 1247,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Sh"
},
{
"path": "src/Mollie.Api/Client/Abstract/ISubscriptionClient.cs",
"chars": 6297,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Pa"
},
{
"path": "src/Mollie.Api/Client/Abstract/ITerminalClient.cs",
"chars": 1057,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Te"
},
{
"path": "src/Mollie.Api/Client/Abstract/IWalletClient.cs",
"chars": 408,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.Wallet.Request;\nusing Mollie.Api.Models.W"
},
{
"path": "src/Mollie.Api/Client/Abstract/IWebhookClient.cs",
"chars": 1276,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models.List.Response;\nusing Mollie.Api.Models.Url"
},
{
"path": "src/Mollie.Api/Client/Abstract/IWebhookEventClient.cs",
"chars": 568,
"preview": "using System.Threading;\nusing System.Threading.Tasks;\nusing Mollie.Api.Models;\nusing Mollie.Api.Models.WebhookEvent.Resp"
},
{
"path": "src/Mollie.Api/Client/BalanceClient.cs",
"chars": 5854,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.T"
},
{
"path": "src/Mollie.Api/Client/BalanceTransferClient.cs",
"chars": 2408,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/BaseMollieClient.cs",
"chars": 11263,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net;\nusing System.Net.Http;\nusing System.Net.Http.Headers;"
},
{
"path": "src/Mollie.Api/Client/CapabilityClient.cs",
"chars": 1139,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/CaptureClient.cs",
"chars": 3196,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/ChargebackClient.cs",
"chars": 2890,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/ClientClient.cs",
"chars": 3127,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/ClientLinkClient.cs",
"chars": 2126,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Mollie.Api.C"
},
{
"path": "src/Mollie.Api/Client/ConnectClient.cs",
"chars": 4503,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\nusing System.Text"
},
{
"path": "src/Mollie.Api/Client/CustomerClient.cs",
"chars": 4942,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/InvoiceClient.cs",
"chars": 2563,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.T"
},
{
"path": "src/Mollie.Api/Client/MandateClient.cs",
"chars": 3635,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/MollieApiException.cs",
"chars": 324,
"preview": "using System;\nusing Mollie.Api.Models.Error;\n\nnamespace Mollie.Api.Client {\n public class MollieApiException : Excep"
},
{
"path": "src/Mollie.Api/Client/OauthBaseMollieClient.cs",
"chars": 1067,
"preview": "using System;\nusing System.Net.Http;\nusing Mollie.Api.Framework.Authentication.Abstract;\nusing Mollie.Api.Options;\n\nnam"
},
{
"path": "src/Mollie.Api/Client/OnboardingClient.cs",
"chars": 1446,
"preview": "using Mollie.Api.Client.Abstract;\nusing Mollie.Api.Models.Onboarding.Request;\nusing Mollie.Api.Models.Onboarding.Respon"
},
{
"path": "src/Mollie.Api/Client/OrderClient.cs",
"chars": 6564,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.T"
},
{
"path": "src/Mollie.Api/Client/OrganizationClient.cs",
"chars": 2722,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/PaymentClient.cs",
"chars": 7501,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/PaymentLinkClient.cs",
"chars": 6056,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/PaymentMethodClient.cs",
"chars": 6007,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing M"
},
{
"path": "src/Mollie.Api/Client/PermissionClient.cs",
"chars": 1915,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/ProfileClient.cs",
"chars": 7348,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInje"
},
{
"path": "src/Mollie.Api/Client/RefundClient.cs",
"chars": 5520,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Threading;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/SalesInvoiceClient.cs",
"chars": 3683,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/SessionClient.cs",
"chars": 1718,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/SettlementClient.cs",
"chars": 6575,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/ShipmentClient.cs",
"chars": 3748,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/SubscriptionClient.cs",
"chars": 6085,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/TerminalClient.cs",
"chars": 2528,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mi"
},
{
"path": "src/Mollie.Api/Client/WalletClient.cs",
"chars": 1186,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInjec"
},
{
"path": "src/Mollie.Api/Client/WebhookClient.cs",
"chars": 3592,
"preview": "using System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Microsoft.Extensions.DependencyInject"
},
{
"path": "src/Mollie.Api/Client/WebhookEventClient.cs",
"chars": 2128,
"preview": "using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Mic"
},
{
"path": "src/Mollie.Api/DependencyInjection.cs",
"chars": 5453,
"preview": "using System;\nusing System.Net.Http;\nusing Microsoft.Extensions.DependencyInjection;\nusing Mollie.Api.Client;\nusing Mol"
},
{
"path": "src/Mollie.Api/Extensions/DateTimeExtensions.cs",
"chars": 517,
"preview": "using System;\n\nnamespace Mollie.Api.Extensions {\n internal static class DateTimeExtensions {\n public static D"
},
{
"path": "src/Mollie.Api/Extensions/DictionaryExtensions.cs",
"chars": 956,
"preview": "using System.Collections.Generic;\nusing System.Linq;\nusing System.Net;\n\nnamespace Mollie.Api.Extensions {\n internal "
},
{
"path": "src/Mollie.Api/Extensions/HttpClientExtensions.cs",
"chars": 1298,
"preview": "using System;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nnamespace Mollie.Api.Extens"
},
{
"path": "src/Mollie.Api/Extensions/ListExtensions.cs",
"chars": 463,
"preview": "using System.Collections.Generic;\nnamespace Mollie.Api.Extensions {\n internal static class ListExtensions {\n "
},
{
"path": "src/Mollie.Api/Framework/Authentication/Abstract/IMollieSecretManager.cs",
"chars": 136,
"preview": "namespace Mollie.Api.Framework.Authentication.Abstract;\n\npublic interface IMollieSecretManager {\n public string GetB"
},
{
"path": "src/Mollie.Api/Framework/Authentication/DefaultMollieSecretManager.cs",
"chars": 229,
"preview": "using Mollie.Api.Framework.Authentication.Abstract;\nnamespace Mollie.Api.Framework.Authentication;\n\npublic class Defaul"
},
{
"path": "src/Mollie.Api/Framework/Factories/BalanceReportResponseFactory.cs",
"chars": 898,
"preview": "using System;\nusing Mollie.Api.Models.Balance.Response.BalanceReport;\nusing Mollie.Api.Models.Balance.Response.BalanceRe"
},
{
"path": "src/Mollie.Api/Framework/Factories/BalanceTransactionFactory.cs",
"chars": 2291,
"preview": "using System;\nusing Mollie.Api.Models.Balance.Response.BalanceTransaction;\nusing Mollie.Api.Models.Balance.Response.Bal"
},
{
"path": "src/Mollie.Api/Framework/Factories/ITypeFactory.cs",
"chars": 110,
"preview": "namespace Mollie.Api.Framework.Factories;\n\ninternal interface ITypeFactory<T> {\n T Create(string? type);\n}\n"
},
{
"path": "src/Mollie.Api/Framework/Factories/MandateResponseFactory.cs",
"chars": 1016,
"preview": "using System;\nusing Mollie.Api.Models.Mandate.Response;\nusing Mollie.Api.Models.Mandate.Response.PaymentSpecificParamet"
},
{
"path": "src/Mollie.Api/Framework/Factories/PaymentResponseFactory.cs",
"chars": 2517,
"preview": "using System;\nusing Mollie.Api.Models.Payment;\nusing Mollie.Api.Models.Payment.Response;\nusing Mollie.Api.Models.Paymen"
},
{
"path": "src/Mollie.Api/Framework/Idempotency/AsyncLocalVariable.cs",
"chars": 552,
"preview": "using System;\nusing System.Threading;\n\nnamespace Mollie.Api.Framework.Idempotency\n{\n internal class AsyncLocalVariab"
},
{
"path": "src/Mollie.Api/Framework/JsonConverterService.cs",
"chars": 3228,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\nusing System.Text.Json.Serialization.Metada"
},
{
"path": "src/Mollie.Api/Framework/MollieHttpRetryPolicies.cs",
"chars": 801,
"preview": "using System;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Mollie.Api.Client;\nusing Pol"
},
{
"path": "src/Mollie.Api/JsonConverters/CollectionToCommaSeparatedListConverter.cs",
"chars": 744,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace"
},
{
"path": "src/Mollie.Api/JsonConverters/DateJsonConverter.cs",
"chars": 1028,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.JsonConverters;\n\n/// "
},
{
"path": "src/Mollie.Api/JsonConverters/Iso8601DateTimeConverter.cs",
"chars": 623,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.JsonConverters {\n "
},
{
"path": "src/Mollie.Api/JsonConverters/ListResponseJsonConverter.cs",
"chars": 1450,
"preview": "using System;\nusing System.Collections;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie"
},
{
"path": "src/Mollie.Api/JsonConverters/MicrosecondEpochConverter.cs",
"chars": 642,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.JsonConverters {\n "
},
{
"path": "src/Mollie.Api/JsonConverters/PolymorphicConverter.cs",
"chars": 1923,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mollie.Api.Framework.Factories;\n\nname"
},
{
"path": "src/Mollie.Api/JsonConverters/RawJsonConverter.cs",
"chars": 1685,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.JsonConverters;\n\ninte"
},
{
"path": "src/Mollie.Api/JsonConverters/SettlementPeriodConverter.cs",
"chars": 1658,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mol"
},
{
"path": "src/Mollie.Api/JsonConverters/StringToDecimalConverter.cs",
"chars": 1099,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.JsonConverters;\n\ninter"
},
{
"path": "src/Mollie.Api/JsonConverters/WebhookEventEntityJsonConverter.cs",
"chars": 3940,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mollie.Api.Models;\nusing Mollie.Api.Mo"
},
{
"path": "src/Mollie.Api/Models/AddressObject.cs",
"chars": 955,
"preview": "namespace Mollie.Api.Models {\n public record AddressObject {\n /// <summary>\n /// The card holder’s str"
},
{
"path": "src/Mollie.Api/Models/Amount.cs",
"chars": 3422,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics.CodeAnalysis;\nusing System.Globalization;\nusin"
},
{
"path": "src/Mollie.Api/Models/ApplicationFee.cs",
"chars": 451,
"preview": "namespace Mollie.Api.Models {\n\tpublic record ApplicationFee {\n\t\t/// <summary>\n\t\t///\tThe amount in EURO that the app wan"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportAmount.cs",
"chars": 255,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport {\n public record BalanceReportAmount {\n public req"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportAmountWithSubtotals.cs",
"chars": 264,
"preview": "using System.Collections.Generic;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceReport {\n public record Balan"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportLinks.cs",
"chars": 500,
"preview": "using Mollie.Api.Models.Url;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceReport {\n public record BalanceRep"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportResponse.cs",
"chars": 2573,
"preview": "using System;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceReport {\n p"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/BalanceReportSubtotals.cs",
"chars": 530,
"preview": "using System.Collections.Generic;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceReport {\n public record Balan"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/ReportGrouping.cs",
"chars": 252,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport {\n public static class ReportGrouping {\n public co"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalanceAvailableBalance.cs",
"chars": 450,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.StatusBalance {\n public record StatusBalanceAvai"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalanceReportResponse.cs",
"chars": 230,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.StatusBalance {\n public record StatusBalanceRepo"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalancesPendingBalance.cs",
"chars": 436,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.StatusBalance {\n public record StatusBalancesPen"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/StatusBalance/StatusBalancesTotal.cs",
"chars": 300,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.StatusBalance {\n public record StatusBalancesTot"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesReportResponse.cs",
"chars": 253,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.TransactionCategories {\n public record Transacti"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesSummaryBalances.cs",
"chars": 292,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.TransactionCategories {\n public record Transacti"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesTotal.cs",
"chars": 965,
"preview": "using System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.TransactionC"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceReport/Specific/TransactionCategories/TransactionCategoriesTransaction.cs",
"chars": 413,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceReport.Specific.TransactionCategories {\n public record Transacti"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceResponse.cs",
"chars": 2961,
"preview": "using System;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Balance.Response {\n public class Ba"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceResponseLinks.cs",
"chars": 474,
"preview": "using Mollie.Api.Models.Url;\n\nnamespace Mollie.Api.Models.Balance.Response {\n public class BalanceResponseLinks {\n "
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceResponseStatus.cs",
"chars": 229,
"preview": "using System.Runtime.Serialization;\n\nnamespace Mollie.Api.Models.Balance.Response {\n public enum BalanceResponseStat"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/BalanceTransactionContextType.cs",
"chars": 1266,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction {\n public static class BalanceTransactionContextType"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/BalanceTransactionResponse.cs",
"chars": 2273,
"preview": "using System;\n\nnamespace Mollie.Api.Models.Balance.Response.BalanceTransaction {\n public class BalanceTransactionRes"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/CaptureBalanceTransactionResponse.cs",
"chars": 400,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class CaptureBalanceTransactionRe"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/ChargebackBalanceTransactionResponse.cs",
"chars": 412,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class ChargebackBalanceTransactio"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/InvoiceBalanceTransactionResponse.cs",
"chars": 345,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class InvoiceBalanceTransactionRe"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/PaymentBalanceTransactionResponse.cs",
"chars": 345,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class PaymentBalanceTransactionRe"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/RefundBalanceTransactionResponse.cs",
"chars": 396,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class RefundBalanceTransactionRes"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransaction/Specific/SettlementBalanceTransactionResponse.cs",
"chars": 413,
"preview": "namespace Mollie.Api.Models.Balance.Response.BalanceTransaction.Specific {\n public class SettlementBalanceTransactio"
},
{
"path": "src/Mollie.Api/Models/Balance/Response/BalanceTransferDestination.cs",
"chars": 838,
"preview": "namespace Mollie.Api.Models.Balance.Response {\n public class BalanceTransferDestination {\n /// <summary>\n "
},
{
"path": "src/Mollie.Api/Models/BalanceTransfer/BalanceTransferParty.cs",
"chars": 677,
"preview": "namespace Mollie.Api.Models.BalanceTransfer;\n\npublic record BalanceTransferParty {\n /// <summary>\n /// Defines th"
},
{
"path": "src/Mollie.Api/Models/BalanceTransfer/Request/BalanceTransferRequest.cs",
"chars": 1828,
"preview": "using System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mollie.Api.JsonConverters;\n\nnamespace Mollie.Api.Mo"
},
{
"path": "src/Mollie.Api/Models/BalanceTransfer/Response/BalanceTransferResponse.cs",
"chars": 2899,
"preview": "using System;\nusing System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mollie.Api.JsonConverters;\nusing Moll"
},
{
"path": "src/Mollie.Api/Models/BalanceTransfer/Response/BalanceTransferStatusReason.cs",
"chars": 437,
"preview": "namespace Mollie.Api.Models.BalanceTransfer.Response;\n\npublic class BalanceTransferStatusReason {\n /// <summary>\n "
},
{
"path": "src/Mollie.Api/Models/Capability/CapabilityRequirementStatus.cs",
"chars": 245,
"preview": "namespace Mollie.Api.Models.Capability;\n\npublic static class CapabilityRequirementStatus {\n public const string Curr"
},
{
"path": "src/Mollie.Api/Models/Capability/CapabilityStatus.cs",
"chars": 273,
"preview": "namespace Mollie.Api.Models.Capability;\n\npublic static class CapabilityStatus {\n public const string Unrequested = \""
},
{
"path": "src/Mollie.Api/Models/Capability/CapabilityStatusReason.cs",
"chars": 244,
"preview": "namespace Mollie.Api.Models.Capability;\n\npublic static class CapabilityStatusReason {\n public const string Requireme"
},
{
"path": "src/Mollie.Api/Models/Capability/Response/CapabilityRequirement.cs",
"chars": 1064,
"preview": "using System;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Capability.Response;\n\npublic record Ca"
},
{
"path": "src/Mollie.Api/Models/Capability/Response/CapabilityRequirementLinks.cs",
"chars": 391,
"preview": "using Mollie.Api.Models.Url;\n\nnamespace Mollie.Api.Models.Capability.Response;\n\npublic record CapabilityRequirementLink"
},
{
"path": "src/Mollie.Api/Models/Capability/Response/CapabilityResponse.cs",
"chars": 1246,
"preview": "using System.Collections.Generic;\n\nnamespace Mollie.Api.Models.Capability.Response;\n\npublic record CapabilityResponse {"
},
{
"path": "src/Mollie.Api/Models/Capability/Response/CapabilityResponseLinks.cs",
"chars": 179,
"preview": "using Mollie.Api.Models.Url;\n\nnamespace Mollie.Api.Models.Capability.Response;\n\npublic record CapabilityResponseLinks {"
},
{
"path": "src/Mollie.Api/Models/Capture/CaptureMode.cs",
"chars": 184,
"preview": "namespace Mollie.Api.Models.Capture {\n public static class CaptureMode {\n public const string Automatic = \"au"
},
{
"path": "src/Mollie.Api/Models/Capture/Request/CaptureRequest.cs",
"chars": 1399,
"preview": "using System.Text.Json;\nusing System.Text.Json.Serialization;\nusing Mollie.Api.JsonConverters;\n\nnamespace Mollie.Api.Mo"
},
{
"path": "src/Mollie.Api/Models/Capture/Response/CaptureResponse.cs",
"chars": 2694,
"preview": "using System;\nusing Mollie.Api.JsonConverters;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Captur"
},
{
"path": "src/Mollie.Api/Models/Capture/Response/CaptureResponseLinks.cs",
"chars": 1264,
"preview": "using Mollie.Api.Models.Payment.Response;\nusing Mollie.Api.Models.Settlement.Response;\nusing Mollie.Api.Models.Shipment"
},
{
"path": "src/Mollie.Api/Models/Chargeback/Response/ChargebackResponse.cs",
"chars": 1972,
"preview": "using System;\nusing System.Text.Json.Serialization;\n\nnamespace Mollie.Api.Models.Chargeback.Response {\n public recor"
},
{
"path": "src/Mollie.Api/Models/Chargeback/Response/ChargebackResponseLinks.cs",
"chars": 1018,
"preview": "using Mollie.Api.Models.Payment.Response;\nusing Mollie.Api.Models.Settlement.Response;\nusing Mollie.Api.Models.Url;\n\nna"
}
]
// ... and 294 more files (download for full content)
About this extraction
This page contains the full source code of the Viincenttt/MollieApi GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 494 files (1.2 MB), approximately 285.5k tokens, and a symbol index with 1435 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.