summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorremo_doerig <>2020-05-22 11:52:00 (GMT)
committerhdiff <hdiff@hdiff.luite.com>2020-05-22 11:52:00 (GMT)
commita69053e5bce7aa274f3d9c66d8b988229b90e83e (patch)
tree045ced8b03421bcb1a3f270a4cf249d400739d16
version 0.1.0.00.1.0.0
-rw-r--r--LICENSE21
-rw-r--r--Setup.hs2
-rw-r--r--src/StripeAPI.hs1110
-rw-r--r--src/StripeAPI/Common.hs294
-rw-r--r--src/StripeAPI/Configuration.hs14
-rw-r--r--src/StripeAPI/CyclicTypes.hs24881
-rw-r--r--src/StripeAPI/Operations/DeleteAccount.hs119
-rw-r--r--src/StripeAPI/Operations/DeleteAccountBankAccountsId.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteAccountExternalAccountsId.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteAccountPeoplePerson.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteAccountPersonsPerson.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteAccountsAccount.hs122
-rw-r--r--src/StripeAPI/Operations/DeleteAccountsAccountBankAccountsId.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteAccountsAccountExternalAccountsId.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteAccountsAccountPeoplePerson.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteAccountsAccountPersonsPerson.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteApplePayDomainsDomain.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteCouponsCoupon.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomer.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerBankAccountsId.hs127
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerCardsId.hs127
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerDiscount.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerSourcesId.hs127
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerSubscriptionsSubscriptionExposedId.hs135
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteCustomersCustomerTaxIdsId.hs126
-rw-r--r--src/StripeAPI/Operations/DeleteEphemeralKeysKey.hs119
-rw-r--r--src/StripeAPI/Operations/DeleteInvoiceitemsInvoiceitem.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteInvoicesInvoice.hs118
-rw-r--r--src/StripeAPI/Operations/DeletePlansPlan.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteProductsId.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteRadarValueListItemsItem.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteRadarValueListsValueList.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteRecipientsId.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteSkusId.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteSubscriptionItemsItem.hs157
-rw-r--r--src/StripeAPI/Operations/DeleteSubscriptionsSubscriptionExposedId.hs127
-rw-r--r--src/StripeAPI/Operations/DeleteSubscriptionsSubscriptionExposedIdDiscount.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteTerminalLocationsLocation.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteTerminalReadersReader.hs118
-rw-r--r--src/StripeAPI/Operations/DeleteWebhookEndpointsWebhookEndpoint.hs118
-rw-r--r--src/StripeAPI/Operations/Get3dSecureThreeDSecure.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccount.hs122
-rw-r--r--src/StripeAPI/Operations/GetAccountBankAccountsId.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccountCapabilities.hs161
-rw-r--r--src/StripeAPI/Operations/GetAccountCapabilitiesCapability.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccountExternalAccounts.hs450
-rw-r--r--src/StripeAPI/Operations/GetAccountExternalAccountsId.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccountPeople.hs209
-rw-r--r--src/StripeAPI/Operations/GetAccountPeoplePerson.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccountPersons.hs209
-rw-r--r--src/StripeAPI/Operations/GetAccountPersonsPerson.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccounts.hs210
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccount.hs130
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountBankAccountsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountCapabilities.hs169
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountCapabilitiesCapability.hs138
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountExternalAccounts.hs458
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountExternalAccountsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountPeople.hs217
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountPeoplePerson.hs138
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountPersons.hs217
-rw-r--r--src/StripeAPI/Operations/GetAccountsAccountPersonsPerson.hs138
-rw-r--r--src/StripeAPI/Operations/GetApplePayDomains.hs210
-rw-r--r--src/StripeAPI/Operations/GetApplePayDomainsDomain.hs130
-rw-r--r--src/StripeAPI/Operations/GetApplicationFees.hs222
-rw-r--r--src/StripeAPI/Operations/GetApplicationFeesFeeRefundsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetApplicationFeesId.hs130
-rw-r--r--src/StripeAPI/Operations/GetApplicationFeesIdRefunds.hs205
-rw-r--r--src/StripeAPI/Operations/GetBalance.hs123
-rw-r--r--src/StripeAPI/Operations/GetBalanceHistory.hs272
-rw-r--r--src/StripeAPI/Operations/GetBalanceHistoryId.hs132
-rw-r--r--src/StripeAPI/Operations/GetBalanceTransactions.hs272
-rw-r--r--src/StripeAPI/Operations/GetBalanceTransactionsId.hs132
-rw-r--r--src/StripeAPI/Operations/GetBitcoinReceivers.hs234
-rw-r--r--src/StripeAPI/Operations/GetBitcoinReceiversId.hs130
-rw-r--r--src/StripeAPI/Operations/GetBitcoinReceiversReceiverTransactions.hs217
-rw-r--r--src/StripeAPI/Operations/GetBitcoinTransactions.hs221
-rw-r--r--src/StripeAPI/Operations/GetCharges.hs246
-rw-r--r--src/StripeAPI/Operations/GetChargesCharge.hs130
-rw-r--r--src/StripeAPI/Operations/GetChargesChargeDispute.hs130
-rw-r--r--src/StripeAPI/Operations/GetChargesChargeRefunds.hs205
-rw-r--r--src/StripeAPI/Operations/GetChargesChargeRefundsRefund.hs138
-rw-r--r--src/StripeAPI/Operations/GetCheckoutSessions.hs221
-rw-r--r--src/StripeAPI/Operations/GetCheckoutSessionsSession.hs130
-rw-r--r--src/StripeAPI/Operations/GetCountrySpecs.hs198
-rw-r--r--src/StripeAPI/Operations/GetCountrySpecsCountry.hs130
-rw-r--r--src/StripeAPI/Operations/GetCoupons.hs210
-rw-r--r--src/StripeAPI/Operations/GetCouponsCoupon.hs130
-rw-r--r--src/StripeAPI/Operations/GetCreditNotes.hs221
-rw-r--r--src/StripeAPI/Operations/GetCreditNotesCreditNoteLines.hs205
-rw-r--r--src/StripeAPI/Operations/GetCreditNotesId.hs130
-rw-r--r--src/StripeAPI/Operations/GetCreditNotesPreview.hs242
-rw-r--r--src/StripeAPI/Operations/GetCreditNotesPreviewLines.hs317
-rw-r--r--src/StripeAPI/Operations/GetCustomers.hs222
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomer.hs1217
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerBalanceTransactions.hs205
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerBalanceTransactionsTransaction.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerBankAccounts.hs205
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerBankAccountsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerCards.hs207
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerCardsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerDiscount.hs130
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerSources.hs870
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerSourcesId.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerSubscriptions.hs205
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerSubscriptionsSubscriptionExposedId.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount.hs138
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerTaxIds.hs205
-rw-r--r--src/StripeAPI/Operations/GetCustomersCustomerTaxIdsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetDisputes.hs234
-rw-r--r--src/StripeAPI/Operations/GetDisputesDispute.hs130
-rw-r--r--src/StripeAPI/Operations/GetEvents.hs246
-rw-r--r--src/StripeAPI/Operations/GetEventsId.hs130
-rw-r--r--src/StripeAPI/Operations/GetExchangeRates.hs198
-rw-r--r--src/StripeAPI/Operations/GetExchangeRatesCurrency.hs130
-rw-r--r--src/StripeAPI/Operations/GetFileLinks.hs234
-rw-r--r--src/StripeAPI/Operations/GetFileLinksLink.hs130
-rw-r--r--src/StripeAPI/Operations/GetFiles.hs222
-rw-r--r--src/StripeAPI/Operations/GetFilesFile.hs130
-rw-r--r--src/StripeAPI/Operations/GetInvoiceitems.hs246
-rw-r--r--src/StripeAPI/Operations/GetInvoiceitemsInvoiceitem.hs130
-rw-r--r--src/StripeAPI/Operations/GetInvoices.hs270
-rw-r--r--src/StripeAPI/Operations/GetInvoicesInvoice.hs130
-rw-r--r--src/StripeAPI/Operations/GetInvoicesInvoiceLines.hs205
-rw-r--r--src/StripeAPI/Operations/GetInvoicesUpcoming.hs342
-rw-r--r--src/StripeAPI/Operations/GetInvoicesUpcomingLines.hs413
-rw-r--r--src/StripeAPI/Operations/GetIssuerFraudRecords.hs210
-rw-r--r--src/StripeAPI/Operations/GetIssuerFraudRecordsIssuerFraudRecord.hs132
-rw-r--r--src/StripeAPI/Operations/GetIssuingAuthorizations.hs246
-rw-r--r--src/StripeAPI/Operations/GetIssuingAuthorizationsAuthorization.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingCardholders.hs270
-rw-r--r--src/StripeAPI/Operations/GetIssuingCardholdersCardholder.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingCards.hs306
-rw-r--r--src/StripeAPI/Operations/GetIssuingCardsCard.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingCardsCardDetails.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingCardsCardPin.hs142
-rw-r--r--src/StripeAPI/Operations/GetIssuingDisputes.hs222
-rw-r--r--src/StripeAPI/Operations/GetIssuingDisputesDispute.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingSettlements.hs210
-rw-r--r--src/StripeAPI/Operations/GetIssuingSettlementsSettlement.hs130
-rw-r--r--src/StripeAPI/Operations/GetIssuingTransactions.hs258
-rw-r--r--src/StripeAPI/Operations/GetIssuingTransactionsTransaction.hs130
-rw-r--r--src/StripeAPI/Operations/GetMandatesMandate.hs130
-rw-r--r--src/StripeAPI/Operations/GetOrderReturns.hs222
-rw-r--r--src/StripeAPI/Operations/GetOrderReturnsId.hs130
-rw-r--r--src/StripeAPI/Operations/GetOrders.hs270
-rw-r--r--src/StripeAPI/Operations/GetOrdersId.hs130
-rw-r--r--src/StripeAPI/Operations/GetPaymentIntents.hs222
-rw-r--r--src/StripeAPI/Operations/GetPaymentIntentsIntent.hs146
-rw-r--r--src/StripeAPI/Operations/GetPaymentMethods.hs222
-rw-r--r--src/StripeAPI/Operations/GetPaymentMethodsPaymentMethod.hs130
-rw-r--r--src/StripeAPI/Operations/GetPayouts.hs246
-rw-r--r--src/StripeAPI/Operations/GetPayoutsPayout.hs130
-rw-r--r--src/StripeAPI/Operations/GetPlans.hs234
-rw-r--r--src/StripeAPI/Operations/GetPlansPlan.hs130
-rw-r--r--src/StripeAPI/Operations/GetProducts.hs270
-rw-r--r--src/StripeAPI/Operations/GetProductsId.hs130
-rw-r--r--src/StripeAPI/Operations/GetRadarEarlyFraudWarnings.hs210
-rw-r--r--src/StripeAPI/Operations/GetRadarEarlyFraudWarningsEarlyFraudWarning.hs132
-rw-r--r--src/StripeAPI/Operations/GetRadarValueListItems.hs234
-rw-r--r--src/StripeAPI/Operations/GetRadarValueListItemsItem.hs130
-rw-r--r--src/StripeAPI/Operations/GetRadarValueLists.hs234
-rw-r--r--src/StripeAPI/Operations/GetRadarValueListsValueList.hs130
-rw-r--r--src/StripeAPI/Operations/GetRecipients.hs234
-rw-r--r--src/StripeAPI/Operations/GetRecipientsId.hs437
-rw-r--r--src/StripeAPI/Operations/GetRefunds.hs234
-rw-r--r--src/StripeAPI/Operations/GetRefundsRefund.hs130
-rw-r--r--src/StripeAPI/Operations/GetReportingReportRuns.hs210
-rw-r--r--src/StripeAPI/Operations/GetReportingReportRunsReportRun.hs130
-rw-r--r--src/StripeAPI/Operations/GetReportingReportTypes.hs161
-rw-r--r--src/StripeAPI/Operations/GetReportingReportTypesReportType.hs130
-rw-r--r--src/StripeAPI/Operations/GetReviews.hs210
-rw-r--r--src/StripeAPI/Operations/GetReviewsReview.hs130
-rw-r--r--src/StripeAPI/Operations/GetSetupIntents.hs234
-rw-r--r--src/StripeAPI/Operations/GetSetupIntentsIntent.hs146
-rw-r--r--src/StripeAPI/Operations/GetSigmaScheduledQueryRuns.hs198
-rw-r--r--src/StripeAPI/Operations/GetSigmaScheduledQueryRunsScheduledQueryRun.hs130
-rw-r--r--src/StripeAPI/Operations/GetSkus.hs258
-rw-r--r--src/StripeAPI/Operations/GetSkusId.hs265
-rw-r--r--src/StripeAPI/Operations/GetSourcesSource.hs142
-rw-r--r--src/StripeAPI/Operations/GetSourcesSourceMandateNotificationsMandateNotification.hs138
-rw-r--r--src/StripeAPI/Operations/GetSourcesSourceSourceTransactions.hs205
-rw-r--r--src/StripeAPI/Operations/GetSourcesSourceSourceTransactionsSourceTransaction.hs138
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionItems.hs210
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionItemsItem.hs130
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionItemsSubscriptionItemUsageRecordSummaries.hs207
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionSchedules.hs270
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionSchedulesSchedule.hs130
-rw-r--r--src/StripeAPI/Operations/GetSubscriptions.hs282
-rw-r--r--src/StripeAPI/Operations/GetSubscriptionsSubscriptionExposedId.hs130
-rw-r--r--src/StripeAPI/Operations/GetTaxRates.hs234
-rw-r--r--src/StripeAPI/Operations/GetTaxRatesTaxRate.hs130
-rw-r--r--src/StripeAPI/Operations/GetTerminalLocations.hs198
-rw-r--r--src/StripeAPI/Operations/GetTerminalLocationsLocation.hs130
-rw-r--r--src/StripeAPI/Operations/GetTerminalReaders.hs233
-rw-r--r--src/StripeAPI/Operations/GetTerminalReadersReader.hs130
-rw-r--r--src/StripeAPI/Operations/GetTokensToken.hs130
-rw-r--r--src/StripeAPI/Operations/GetTopups.hs234
-rw-r--r--src/StripeAPI/Operations/GetTopupsTopup.hs130
-rw-r--r--src/StripeAPI/Operations/GetTransfers.hs234
-rw-r--r--src/StripeAPI/Operations/GetTransfersIdReversals.hs205
-rw-r--r--src/StripeAPI/Operations/GetTransfersTransfer.hs130
-rw-r--r--src/StripeAPI/Operations/GetTransfersTransferReversalsId.hs138
-rw-r--r--src/StripeAPI/Operations/GetWebhookEndpoints.hs198
-rw-r--r--src/StripeAPI/Operations/GetWebhookEndpointsWebhookEndpoint.hs130
-rw-r--r--src/StripeAPI/Operations/Post3dSecure.hs129
-rw-r--r--src/StripeAPI/Operations/PostAccount.hs1306
-rw-r--r--src/StripeAPI/Operations/PostAccountBankAccounts.hs231
-rw-r--r--src/StripeAPI/Operations/PostAccountBankAccountsId.hs226
-rw-r--r--src/StripeAPI/Operations/PostAccountCapabilitiesCapability.hs121
-rw-r--r--src/StripeAPI/Operations/PostAccountExternalAccounts.hs231
-rw-r--r--src/StripeAPI/Operations/PostAccountExternalAccountsId.hs226
-rw-r--r--src/StripeAPI/Operations/PostAccountLinks.hs165
-rw-r--r--src/StripeAPI/Operations/PostAccountLoginLinks.hs121
-rw-r--r--src/StripeAPI/Operations/PostAccountPeople.hs521
-rw-r--r--src/StripeAPI/Operations/PostAccountPeoplePerson.hs529
-rw-r--r--src/StripeAPI/Operations/PostAccountPersons.hs521
-rw-r--r--src/StripeAPI/Operations/PostAccountPersonsPerson.hs529
-rw-r--r--src/StripeAPI/Operations/PostAccounts.hs1340
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccount.hs1314
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountBankAccounts.hs239
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountBankAccountsId.hs234
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountCapabilitiesCapability.hs129
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountExternalAccounts.hs239
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountExternalAccountsId.hs234
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountLoginLinks.hs123
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountPeople.hs523
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountPeoplePerson.hs531
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountPersons.hs523
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountPersonsPerson.hs531
-rw-r--r--src/StripeAPI/Operations/PostAccountsAccountReject.hs127
-rw-r--r--src/StripeAPI/Operations/PostApplePayDomains.hs113
-rw-r--r--src/StripeAPI/Operations/PostApplicationFeesFeeRefundsId.hs143
-rw-r--r--src/StripeAPI/Operations/PostApplicationFeesIdRefund.hs127
-rw-r--r--src/StripeAPI/Operations/PostApplicationFeesIdRefunds.hs143
-rw-r--r--src/StripeAPI/Operations/PostCharges.hs432
-rw-r--r--src/StripeAPI/Operations/PostChargesCharge.hs282
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeCapture.hs158
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeDispute.hs274
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeDisputeClose.hs119
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeRefund.hs185
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeRefunds.hs175
-rw-r--r--src/StripeAPI/Operations/PostChargesChargeRefundsRefund.hs141
-rw-r--r--src/StripeAPI/Operations/PostCheckoutSessions.hs692
-rw-r--r--src/StripeAPI/Operations/PostCoupons.hs181
-rw-r--r--src/StripeAPI/Operations/PostCouponsCoupon.hs139
-rw-r--r--src/StripeAPI/Operations/PostCreditNotes.hs274
-rw-r--r--src/StripeAPI/Operations/PostCreditNotesId.hs139
-rw-r--r--src/StripeAPI/Operations/PostCreditNotesIdVoid.hs119
-rw-r--r--src/StripeAPI/Operations/PostCustomers.hs584
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomer.hs740
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerBalanceTransactions.hs143
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerBalanceTransactionsTransaction.hs147
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerBankAccounts.hs365
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerBankAccountsId.hs851
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerBankAccountsIdVerify.hs129
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerCards.hs365
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerCardsId.hs851
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerSources.hs365
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerSourcesId.hs851
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerSourcesIdVerify.hs129
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerSubscriptions.hs570
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerSubscriptionsSubscriptionExposedId.hs641
-rw-r--r--src/StripeAPI/Operations/PostCustomersCustomerTaxIds.hs227
-rw-r--r--src/StripeAPI/Operations/PostDisputesDispute.hs276
-rw-r--r--src/StripeAPI/Operations/PostDisputesDisputeClose.hs121
-rw-r--r--src/StripeAPI/Operations/PostEphemeralKeys.hs123
-rw-r--r--src/StripeAPI/Operations/PostFileLinks.hs133
-rw-r--r--src/StripeAPI/Operations/PostFileLinksLink.hs179
-rw-r--r--src/StripeAPI/Operations/PostFiles.hs94
-rw-r--r--src/StripeAPI/Operations/PostInvoiceitems.hs180
-rw-r--r--src/StripeAPI/Operations/PostInvoiceitemsInvoiceitem.hs195
-rw-r--r--src/StripeAPI/Operations/PostInvoices.hs257
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoice.hs312
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoiceFinalize.hs121
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoiceMarkUncollectible.hs119
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoicePay.hs139
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoiceSend.hs121
-rw-r--r--src/StripeAPI/Operations/PostInvoicesInvoiceVoid.hs119
-rw-r--r--src/StripeAPI/Operations/PostIssuingAuthorizationsAuthorization.hs160
-rw-r--r--src/StripeAPI/Operations/PostIssuingAuthorizationsAuthorizationApprove.hs162
-rw-r--r--src/StripeAPI/Operations/PostIssuingAuthorizationsAuthorizationDecline.hs160
-rw-r--r--src/StripeAPI/Operations/PostIssuingCardholders.hs3906
-rw-r--r--src/StripeAPI/Operations/PostIssuingCardholdersCardholder.hs3890
-rw-r--r--src/StripeAPI/Operations/PostIssuingCards.hs3895
-rw-r--r--src/StripeAPI/Operations/PostIssuingCardsCard.hs3760
-rw-r--r--src/StripeAPI/Operations/PostIssuingCardsCardPin.hs150
-rw-r--r--src/StripeAPI/Operations/PostIssuingDisputes.hs266
-rw-r--r--src/StripeAPI/Operations/PostIssuingDisputesDispute.hs133
-rw-r--r--src/StripeAPI/Operations/PostIssuingSettlementsSettlement.hs133
-rw-r--r--src/StripeAPI/Operations/PostIssuingTransactionsTransaction.hs160
-rw-r--r--src/StripeAPI/Operations/PostIssuingVerifications.hs169
-rw-r--r--src/StripeAPI/Operations/PostOrders.hs284
-rw-r--r--src/StripeAPI/Operations/PostOrdersId.hs208
-rw-r--r--src/StripeAPI/Operations/PostOrdersIdPay.hs153
-rw-r--r--src/StripeAPI/Operations/PostOrdersIdReturns.hs209
-rw-r--r--src/StripeAPI/Operations/PostPaymentIntents.hs658
-rw-r--r--src/StripeAPI/Operations/PostPaymentIntentsIntent.hs558
-rw-r--r--src/StripeAPI/Operations/PostPaymentIntentsIntentCancel.hs155
-rw-r--r--src/StripeAPI/Operations/PostPaymentIntentsIntentCapture.hs158
-rw-r--r--src/StripeAPI/Operations/PostPaymentIntentsIntentConfirm.hs608
-rw-r--r--src/StripeAPI/Operations/PostPaymentMethods.hs487
-rw-r--r--src/StripeAPI/Operations/PostPaymentMethodsPaymentMethod.hs240
-rw-r--r--src/StripeAPI/Operations/PostPaymentMethodsPaymentMethodAttach.hs129
-rw-r--r--src/StripeAPI/Operations/PostPaymentMethodsPaymentMethodDetach.hs119
-rw-r--r--src/StripeAPI/Operations/PostPayouts.hs203
-rw-r--r--src/StripeAPI/Operations/PostPayoutsPayout.hs133
-rw-r--r--src/StripeAPI/Operations/PostPayoutsPayoutCancel.hs119
-rw-r--r--src/StripeAPI/Operations/PostPlans.hs434
-rw-r--r--src/StripeAPI/Operations/PostPlansPlan.hs149
-rw-r--r--src/StripeAPI/Operations/PostProducts.hs227
-rw-r--r--src/StripeAPI/Operations/PostProductsId.hs280
-rw-r--r--src/StripeAPI/Operations/PostRadarValueListItems.hs123
-rw-r--r--src/StripeAPI/Operations/PostRadarValueLists.hs183
-rw-r--r--src/StripeAPI/Operations/PostRadarValueListsValueList.hs145
-rw-r--r--src/StripeAPI/Operations/PostRecipients.hs168
-rw-r--r--src/StripeAPI/Operations/PostRecipientsId.hs179
-rw-r--r--src/StripeAPI/Operations/PostRefunds.hs173
-rw-r--r--src/StripeAPI/Operations/PostRefundsRefund.hs135
-rw-r--r--src/StripeAPI/Operations/PostReportingReportRuns.hs2674
-rw-r--r--src/StripeAPI/Operations/PostReviewsReviewApprove.hs119
-rw-r--r--src/StripeAPI/Operations/PostSetupIntents.hs340
-rw-r--r--src/StripeAPI/Operations/PostSetupIntentsIntent.hs207
-rw-r--r--src/StripeAPI/Operations/PostSetupIntentsIntentCancel.hs151
-rw-r--r--src/StripeAPI/Operations/PostSetupIntentsIntentConfirm.hs268
-rw-r--r--src/StripeAPI/Operations/PostSkus.hs259
-rw-r--r--src/StripeAPI/Operations/PostSkusId.hs294
-rw-r--r--src/StripeAPI/Operations/PostSources.hs750
-rw-r--r--src/StripeAPI/Operations/PostSourcesSource.hs610
-rw-r--r--src/StripeAPI/Operations/PostSourcesSourceVerify.hs121
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionItems.hs282
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionItemsItem.hs286
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionItemsSubscriptionItemUsageRecords.hs155
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionSchedules.hs561
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionSchedulesSchedule.hs639
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionSchedulesScheduleCancel.hs123
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionSchedulesScheduleRelease.hs121
-rw-r--r--src/StripeAPI/Operations/PostSubscriptions.hs568
-rw-r--r--src/StripeAPI/Operations/PostSubscriptionsSubscriptionExposedId.hs633
-rw-r--r--src/StripeAPI/Operations/PostTaxRates.hs149
-rw-r--r--src/StripeAPI/Operations/PostTaxRatesTaxRate.hs153
-rw-r--r--src/StripeAPI/Operations/PostTerminalConnectionTokens.hs117
-rw-r--r--src/StripeAPI/Operations/PostTerminalLocations.hs180
-rw-r--r--src/StripeAPI/Operations/PostTerminalLocationsLocation.hs188
-rw-r--r--src/StripeAPI/Operations/PostTerminalReaders.hs143
-rw-r--r--src/StripeAPI/Operations/PostTerminalReadersReader.hs139
-rw-r--r--src/StripeAPI/Operations/PostTokens.hs1433
-rw-r--r--src/StripeAPI/Operations/PostTopups.hs149
-rw-r--r--src/StripeAPI/Operations/PostTopupsTopup.hs139
-rw-r--r--src/StripeAPI/Operations/PostTopupsTopupCancel.hs119
-rw-r--r--src/StripeAPI/Operations/PostTransfers.hs171
-rw-r--r--src/StripeAPI/Operations/PostTransfersIdReversals.hs147
-rw-r--r--src/StripeAPI/Operations/PostTransfersTransfer.hs141
-rw-r--r--src/StripeAPI/Operations/PostTransfersTransferReversalsId.hs143
-rw-r--r--src/StripeAPI/Operations/PostWebhookEndpoints.hs1139
-rw-r--r--src/StripeAPI/Operations/PostWebhookEndpointsWebhookEndpoint.hs749
-rw-r--r--src/StripeAPI/Operations/PutAccountLogout.hs119
-rw-r--r--src/StripeAPI/Operations/PutAccountsAccountLogout.hs121
-rw-r--r--src/StripeAPI/SecuritySchemes.hs49
-rw-r--r--src/StripeAPI/Types.hs396
-rw-r--r--src/StripeAPI/Types/AccountCapabilities.hs144
-rw-r--r--src/StripeAPI/Types/AccountCapabilityRequirements.hs59
-rw-r--r--src/StripeAPI/Types/AccountCardPaymentsSettings.hs49
-rw-r--r--src/StripeAPI/Types/AccountDashboardSettings.hs52
-rw-r--r--src/StripeAPI/Types/AccountDeclineChargeOn.hs44
-rw-r--r--src/StripeAPI/Types/AccountLink.hs71
-rw-r--r--src/StripeAPI/Types/AccountPaymentsSettings.hs58
-rw-r--r--src/StripeAPI/Types/AccountPayoutSettings.hs51
-rw-r--r--src/StripeAPI/Types/AccountRequirements.hs59
-rw-r--r--src/StripeAPI/Types/AccountRequirementsError.hs218
-rw-r--r--src/StripeAPI/Types/AccountTosAcceptance.hs54
-rw-r--r--src/StripeAPI/Types/Address.hs76
-rw-r--r--src/StripeAPI/Types/ApplePayDomain.hs74
-rw-r--r--src/StripeAPI/Types/Application.hs70
-rw-r--r--src/StripeAPI/Types/Balance.hs77
-rw-r--r--src/StripeAPI/Types/BalanceAmount.hs47
-rw-r--r--src/StripeAPI/Types/BalanceAmountBySourceType.hs46
-rw-r--r--src/StripeAPI/Types/BitcoinReceiver.hs184
-rw-r--r--src/StripeAPI/Types/BitcoinTransaction.hs78
-rw-r--r--src/StripeAPI/Types/CardMandatePaymentMethodDetails.hs41
-rw-r--r--src/StripeAPI/Types/ChargeFraudDetails.hs52
-rw-r--r--src/StripeAPI/Types/ChargeOutcome.hs86
-rw-r--r--src/StripeAPI/Types/CheckoutSessionCustomDisplayItemDescription.hs54
-rw-r--r--src/StripeAPI/Types/CountrySpec.hs98
-rw-r--r--src/StripeAPI/Types/CountrySpecVerificationFieldDetails.hs44
-rw-r--r--src/StripeAPI/Types/CountrySpecVerificationFields.hs45
-rw-r--r--src/StripeAPI/Types/Coupon.hs132
-rw-r--r--src/StripeAPI/Types/CreditNoteLineItem.hs116
-rw-r--r--src/StripeAPI/Types/CreditNoteTaxAmount.hs58
-rw-r--r--src/StripeAPI/Types/CustomerAcceptance.hs70
-rw-r--r--src/StripeAPI/Types/DeletedAccount.hs82
-rw-r--r--src/StripeAPI/Types/DeletedAlipayAccount.hs82
-rw-r--r--src/StripeAPI/Types/DeletedApplePayDomain.hs82
-rw-r--r--src/StripeAPI/Types/DeletedBankAccount.hs88
-rw-r--r--src/StripeAPI/Types/DeletedBitcoinReceiver.hs82
-rw-r--r--src/StripeAPI/Types/DeletedCard.hs88
-rw-r--r--src/StripeAPI/Types/DeletedCoupon.hs82
-rw-r--r--src/StripeAPI/Types/DeletedCustomer.hs82
-rw-r--r--src/StripeAPI/Types/DeletedDiscount.hs76
-rw-r--r--src/StripeAPI/Types/DeletedInvoice.hs82
-rw-r--r--src/StripeAPI/Types/DeletedInvoiceitem.hs82
-rw-r--r--src/StripeAPI/Types/DeletedPerson.hs82
-rw-r--r--src/StripeAPI/Types/DeletedPlan.hs82
-rw-r--r--src/StripeAPI/Types/DeletedProduct.hs82
-rw-r--r--src/StripeAPI/Types/DeletedRadarValueList.hs82
-rw-r--r--src/StripeAPI/Types/DeletedRadarValueListItem.hs82
-rw-r--r--src/StripeAPI/Types/DeletedRecipient.hs82
-rw-r--r--src/StripeAPI/Types/DeletedSku.hs82
-rw-r--r--src/StripeAPI/Types/DeletedSubscriptionItem.hs82
-rw-r--r--src/StripeAPI/Types/DeletedTaxId.hs82
-rw-r--r--src/StripeAPI/Types/DeletedTerminalLocation.hs82
-rw-r--r--src/StripeAPI/Types/DeletedTerminalReader.hs82
-rw-r--r--src/StripeAPI/Types/DeletedWebhookEndpoint.hs82
-rw-r--r--src/StripeAPI/Types/DeliveryEstimate.hs64
-rw-r--r--src/StripeAPI/Types/DisputeEvidenceDetails.hs48
-rw-r--r--src/StripeAPI/Types/EphemeralKey.hs76
-rw-r--r--src/StripeAPI/Types/ExchangeRate.hs88
-rw-r--r--src/StripeAPI/Types/Fee.hs62
-rw-r--r--src/StripeAPI/Types/FinancialReportingFinanceReportRunRunParameters.hs72
-rw-r--r--src/StripeAPI/Types/Inventory.hs54
-rw-r--r--src/StripeAPI/Types/InvoiceItemThresholdReason.hs44
-rw-r--r--src/StripeAPI/Types/InvoiceLineItemPeriod.hs44
-rw-r--r--src/StripeAPI/Types/InvoiceSettingCustomField.hs52
-rw-r--r--src/StripeAPI/Types/InvoiceSettingSubscriptionScheduleSetting.hs42
-rw-r--r--src/StripeAPI/Types/InvoiceTaxAmount.hs58
-rw-r--r--src/StripeAPI/Types/InvoiceThresholdReason.hs45
-rw-r--r--src/StripeAPI/Types/InvoicesResourceInvoiceTaxId.hs152
-rw-r--r--src/StripeAPI/Types/InvoicesStatusTransitions.hs48
-rw-r--r--src/StripeAPI/Types/IssuingAuthorizationMerchantData.hs88
-rw-r--r--src/StripeAPI/Types/IssuingAuthorizationRequest.hs133
-rw-r--r--src/StripeAPI/Types/IssuingAuthorizationVerificationData.hs144
-rw-r--r--src/StripeAPI/Types/IssuingAuthorizationViolatedAuthControl.hs100
-rw-r--r--src/StripeAPI/Types/IssuingCardAuthorizationControls.hs2381
-rw-r--r--src/StripeAPI/Types/IssuingCardPin.hs62
-rw-r--r--src/StripeAPI/Types/IssuingCardShipping.hs171
-rw-r--r--src/StripeAPI/Types/IssuingCardSpendingLimit.hs1246
-rw-r--r--src/StripeAPI/Types/IssuingCardholderAddress.hs49
-rw-r--r--src/StripeAPI/Types/IssuingCardholderAuthorizationControls.hs2377
-rw-r--r--src/StripeAPI/Types/IssuingCardholderCompany.hs42
-rw-r--r--src/StripeAPI/Types/IssuingCardholderIndividualDob.hs46
-rw-r--r--src/StripeAPI/Types/IssuingCardholderRequirements.hs104
-rw-r--r--src/StripeAPI/Types/IssuingCardholderSpendingLimit.hs1246
-rw-r--r--src/StripeAPI/Types/IssuingSettlement.hs132
-rw-r--r--src/StripeAPI/Types/IssuingVerification.hs118
-rw-r--r--src/StripeAPI/Types/LegalEntityDob.hs46
-rw-r--r--src/StripeAPI/Types/LegalEntityJapanAddress.hs82
-rw-r--r--src/StripeAPI/Types/LightAccountLogout.hs41
-rw-r--r--src/StripeAPI/Types/LoginLink.hs66
-rw-r--r--src/StripeAPI/Types/MandateMultiUse.hs41
-rw-r--r--src/StripeAPI/Types/MandatePaymentMethodDetails.hs52
-rw-r--r--src/StripeAPI/Types/MandateSepaDebit.hs52
-rw-r--r--src/StripeAPI/Types/MandateSingleUse.hs44
-rw-r--r--src/StripeAPI/Types/NotificationEventData.hs68
-rw-r--r--src/StripeAPI/Types/NotificationEventRequest.hs52
-rw-r--r--src/StripeAPI/Types/OfflineAcceptance.hs41
-rw-r--r--src/StripeAPI/Types/OnlineAcceptance.hs52
-rw-r--r--src/StripeAPI/Types/PackageDimensions.hs48
-rw-r--r--src/StripeAPI/Types/PaymentIntentNextAction.hs63
-rw-r--r--src/StripeAPI/Types/PaymentIntentNextActionRedirectToUrl.hs52
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardChecks.hs58
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardPresent.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardWalletAmexExpressCheckout.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardWalletApplePay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardWalletGooglePay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodCardWalletSamsungPay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsAchCreditTransfer.hs64
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsAchDebit.hs92
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsAlipay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsBancontact.hs103
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardChecks.hs58
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardInstallmentsPlan.hs80
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardPresentReceipt.hs88
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardWalletAmexExpressCheckout.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardWalletApplePay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardWalletGooglePay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsCardWalletSamsungPay.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsEps.hs47
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsFpx.hs140
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsGiropay.hs65
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsIdeal.hs177
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsKlarna.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsMultibanco.hs52
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsP24.hs53
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsSepaDebit.hs76
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsSofort.hs77
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsStripeAccount.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodDetailsWechat.hs41
-rw-r--r--src/StripeAPI/Types/PaymentMethodFpx.hs134
-rw-r--r--src/StripeAPI/Types/PaymentMethodIdeal.hs164
-rw-r--r--src/StripeAPI/Types/PaymentMethodSepaDebit.hs70
-rw-r--r--src/StripeAPI/Types/Period.hs44
-rw-r--r--src/StripeAPI/Types/PersonRelationship.hs56
-rw-r--r--src/StripeAPI/Types/PersonRequirements.hs51
-rw-r--r--src/StripeAPI/Types/PlanTier.hs50
-rw-r--r--src/StripeAPI/Types/PlatformTaxFee.hs82
-rw-r--r--src/StripeAPI/Types/RadarReviewResourceLocation.hs62
-rw-r--r--src/StripeAPI/Types/RadarReviewResourceSession.hs64
-rw-r--r--src/StripeAPI/Types/RadarValueList.hs186
-rw-r--r--src/StripeAPI/Types/RadarValueListItem.hs88
-rw-r--r--src/StripeAPI/Types/ReportingReportType.hs88
-rw-r--r--src/StripeAPI/Types/ReserveTransaction.hs74
-rw-r--r--src/StripeAPI/Types/Rule.hs58
-rw-r--r--src/StripeAPI/Types/SetupIntentNextAction.hs63
-rw-r--r--src/StripeAPI/Types/SetupIntentNextActionRedirectToUrl.hs52
-rw-r--r--src/StripeAPI/Types/SetupIntentPaymentMethodOptions.hs43
-rw-r--r--src/StripeAPI/Types/SetupIntentPaymentMethodOptionsCard.hs66
-rw-r--r--src/StripeAPI/Types/Shipping.hs67
-rw-r--r--src/StripeAPI/Types/SigmaScheduledQueryRunError.hs46
-rw-r--r--src/StripeAPI/Types/SourceCodeVerificationFlow.hs48
-rw-r--r--src/StripeAPI/Types/SourceMandateNotificationBacsDebitData.hs46
-rw-r--r--src/StripeAPI/Types/SourceMandateNotificationSepaDebitData.hs58
-rw-r--r--src/StripeAPI/Types/SourceOrder.hs56
-rw-r--r--src/StripeAPI/Types/SourceOrderItem.hs62
-rw-r--r--src/StripeAPI/Types/SourceReceiverFlow.hs64
-rw-r--r--src/StripeAPI/Types/SourceRedirectFlow.hs64
-rw-r--r--src/StripeAPI/Types/SourceTransaction.hs180
-rw-r--r--src/StripeAPI/Types/SourceTransactionAchCreditTransferData.hs64
-rw-r--r--src/StripeAPI/Types/SourceTransactionChfCreditTransferData.hs70
-rw-r--r--src/StripeAPI/Types/SourceTransactionGbpCreditTransferData.hs82
-rw-r--r--src/StripeAPI/Types/SourceTransactionPaperCheckData.hs52
-rw-r--r--src/StripeAPI/Types/SourceTransactionSepaCreditTransferData.hs58
-rw-r--r--src/StripeAPI/Types/SourceTypeAchCreditTransfer.hs56
-rw-r--r--src/StripeAPI/Types/SourceTypeAchDebit.hs52
-rw-r--r--src/StripeAPI/Types/SourceTypeAlipay.hs46
-rw-r--r--src/StripeAPI/Types/SourceTypeBancontact.hs52
-rw-r--r--src/StripeAPI/Types/SourceTypeCard.hs68
-rw-r--r--src/StripeAPI/Types/SourceTypeCardPresent.hs86
-rw-r--r--src/StripeAPI/Types/SourceTypeEps.hs44
-rw-r--r--src/StripeAPI/Types/SourceTypeGiropay.hs48
-rw-r--r--src/StripeAPI/Types/SourceTypeIdeal.hs48
-rw-r--r--src/StripeAPI/Types/SourceTypeKlarna.hs90
-rw-r--r--src/StripeAPI/Types/SourceTypeMultibanco.hs60
-rw-r--r--src/StripeAPI/Types/SourceTypeP24.hs42
-rw-r--r--src/StripeAPI/Types/SourceTypeSepaDebit.hs54
-rw-r--r--src/StripeAPI/Types/SourceTypeSofort.hs54
-rw-r--r--src/StripeAPI/Types/SourceTypeThreeDSecure.hs74
-rw-r--r--src/StripeAPI/Types/SourceTypeWechat.hs46
-rw-r--r--src/StripeAPI/Types/StatusTransitions.hs48
-rw-r--r--src/StripeAPI/Types/SubscriptionBillingThresholds.hs44
-rw-r--r--src/StripeAPI/Types/SubscriptionItemBillingThresholds.hs42
-rw-r--r--src/StripeAPI/Types/SubscriptionPendingInvoiceItemInterval.hs72
-rw-r--r--src/StripeAPI/Types/SubscriptionScheduleCurrentPhase.hs44
-rw-r--r--src/StripeAPI/Types/TaxDeductedAtSource.hs74
-rw-r--r--src/StripeAPI/Types/TaxIdVerification.hs82
-rw-r--r--src/StripeAPI/Types/TaxRate.hs108
-rw-r--r--src/StripeAPI/Types/TerminalConnectionToken.hs72
-rw-r--r--src/StripeAPI/Types/TerminalLocation.hs91
-rw-r--r--src/StripeAPI/Types/TerminalReader.hs140
-rw-r--r--src/StripeAPI/Types/ThreeDSecureDetails.hs50
-rw-r--r--src/StripeAPI/Types/ThreeDSecureUsage.hs42
-rw-r--r--src/StripeAPI/Types/TransferSchedule.hs56
-rw-r--r--src/StripeAPI/Types/TransformUsage.hs64
-rw-r--r--src/StripeAPI/Types/UsageRecord.hs79
-rw-r--r--src/StripeAPI/Types/UsageRecordSummary.hs83
-rw-r--r--src/StripeAPI/Types/WebhookEndpoint.hs106
-rw-r--r--stripeapi.cabal586
557 files changed, 147341 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..220fdfb
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Haskell-OpenAPI-Code-Generator
+
+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.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
index 0000000..9a994af
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/src/StripeAPI.hs b/src/StripeAPI.hs
new file mode 100644
index 0000000..ccfe827
--- /dev/null
+++ b/src/StripeAPI.hs
@@ -0,0 +1,1110 @@
+-- | The main module which exports all functionality.
+module StripeAPI (
+ module StripeAPI.Operations.Post3dSecure,
+ module StripeAPI.Operations.Get3dSecureThreeDSecure,
+ module StripeAPI.Operations.GetAccount,
+ module StripeAPI.Operations.PostAccount,
+ module StripeAPI.Operations.DeleteAccount,
+ module StripeAPI.Operations.PostAccountBankAccounts,
+ module StripeAPI.Operations.GetAccountBankAccountsId,
+ module StripeAPI.Operations.PostAccountBankAccountsId,
+ module StripeAPI.Operations.DeleteAccountBankAccountsId,
+ module StripeAPI.Operations.GetAccountCapabilities,
+ module StripeAPI.Operations.GetAccountCapabilitiesCapability,
+ module StripeAPI.Operations.PostAccountCapabilitiesCapability,
+ module StripeAPI.Operations.GetAccountExternalAccounts,
+ module StripeAPI.Operations.PostAccountExternalAccounts,
+ module StripeAPI.Operations.GetAccountExternalAccountsId,
+ module StripeAPI.Operations.PostAccountExternalAccountsId,
+ module StripeAPI.Operations.DeleteAccountExternalAccountsId,
+ module StripeAPI.Operations.PostAccountLoginLinks,
+ module StripeAPI.Operations.PutAccountLogout,
+ module StripeAPI.Operations.GetAccountPeople,
+ module StripeAPI.Operations.PostAccountPeople,
+ module StripeAPI.Operations.GetAccountPeoplePerson,
+ module StripeAPI.Operations.PostAccountPeoplePerson,
+ module StripeAPI.Operations.DeleteAccountPeoplePerson,
+ module StripeAPI.Operations.GetAccountPersons,
+ module StripeAPI.Operations.PostAccountPersons,
+ module StripeAPI.Operations.GetAccountPersonsPerson,
+ module StripeAPI.Operations.PostAccountPersonsPerson,
+ module StripeAPI.Operations.DeleteAccountPersonsPerson,
+ module StripeAPI.Operations.PostAccountLinks,
+ module StripeAPI.Operations.GetAccounts,
+ module StripeAPI.Operations.PostAccounts,
+ module StripeAPI.Operations.GetAccountsAccount,
+ module StripeAPI.Operations.PostAccountsAccount,
+ module StripeAPI.Operations.DeleteAccountsAccount,
+ module StripeAPI.Operations.PostAccountsAccountBankAccounts,
+ module StripeAPI.Operations.GetAccountsAccountBankAccountsId,
+ module StripeAPI.Operations.PostAccountsAccountBankAccountsId,
+ module StripeAPI.Operations.DeleteAccountsAccountBankAccountsId,
+ module StripeAPI.Operations.GetAccountsAccountCapabilities,
+ module StripeAPI.Operations.GetAccountsAccountCapabilitiesCapability,
+ module StripeAPI.Operations.PostAccountsAccountCapabilitiesCapability,
+ module StripeAPI.Operations.GetAccountsAccountExternalAccounts,
+ module StripeAPI.Operations.PostAccountsAccountExternalAccounts,
+ module StripeAPI.Operations.GetAccountsAccountExternalAccountsId,
+ module StripeAPI.Operations.PostAccountsAccountExternalAccountsId,
+ module StripeAPI.Operations.DeleteAccountsAccountExternalAccountsId,
+ module StripeAPI.Operations.PostAccountsAccountLoginLinks,
+ module StripeAPI.Operations.PutAccountsAccountLogout,
+ module StripeAPI.Operations.GetAccountsAccountPeople,
+ module StripeAPI.Operations.PostAccountsAccountPeople,
+ module StripeAPI.Operations.GetAccountsAccountPeoplePerson,
+ module StripeAPI.Operations.PostAccountsAccountPeoplePerson,
+ module StripeAPI.Operations.DeleteAccountsAccountPeoplePerson,
+ module StripeAPI.Operations.GetAccountsAccountPersons,
+ module StripeAPI.Operations.PostAccountsAccountPersons,
+ module StripeAPI.Operations.GetAccountsAccountPersonsPerson,
+ module StripeAPI.Operations.PostAccountsAccountPersonsPerson,
+ module StripeAPI.Operations.DeleteAccountsAccountPersonsPerson,
+ module StripeAPI.Operations.PostAccountsAccountReject,
+ module StripeAPI.Operations.GetApplePayDomains,
+ module StripeAPI.Operations.PostApplePayDomains,
+ module StripeAPI.Operations.GetApplePayDomainsDomain,
+ module StripeAPI.Operations.DeleteApplePayDomainsDomain,
+ module StripeAPI.Operations.GetApplicationFees,
+ module StripeAPI.Operations.GetApplicationFeesFeeRefundsId,
+ module StripeAPI.Operations.PostApplicationFeesFeeRefundsId,
+ module StripeAPI.Operations.GetApplicationFeesId,
+ module StripeAPI.Operations.PostApplicationFeesIdRefund,
+ module StripeAPI.Operations.GetApplicationFeesIdRefunds,
+ module StripeAPI.Operations.PostApplicationFeesIdRefunds,
+ module StripeAPI.Operations.GetBalance,
+ module StripeAPI.Operations.GetBalanceHistory,
+ module StripeAPI.Operations.GetBalanceHistoryId,
+ module StripeAPI.Operations.GetBalanceTransactions,
+ module StripeAPI.Operations.GetBalanceTransactionsId,
+ module StripeAPI.Operations.GetBitcoinReceivers,
+ module StripeAPI.Operations.GetBitcoinReceiversId,
+ module StripeAPI.Operations.GetBitcoinReceiversReceiverTransactions,
+ module StripeAPI.Operations.GetBitcoinTransactions,
+ module StripeAPI.Operations.GetCharges,
+ module StripeAPI.Operations.PostCharges,
+ module StripeAPI.Operations.GetChargesCharge,
+ module StripeAPI.Operations.PostChargesCharge,
+ module StripeAPI.Operations.PostChargesChargeCapture,
+ module StripeAPI.Operations.GetChargesChargeDispute,
+ module StripeAPI.Operations.PostChargesChargeDispute,
+ module StripeAPI.Operations.PostChargesChargeDisputeClose,
+ module StripeAPI.Operations.PostChargesChargeRefund,
+ module StripeAPI.Operations.GetChargesChargeRefunds,
+ module StripeAPI.Operations.PostChargesChargeRefunds,
+ module StripeAPI.Operations.GetChargesChargeRefundsRefund,
+ module StripeAPI.Operations.PostChargesChargeRefundsRefund,
+ module StripeAPI.Operations.GetCheckoutSessions,
+ module StripeAPI.Operations.PostCheckoutSessions,
+ module StripeAPI.Operations.GetCheckoutSessionsSession,
+ module StripeAPI.Operations.GetCountrySpecs,
+ module StripeAPI.Operations.GetCountrySpecsCountry,
+ module StripeAPI.Operations.GetCoupons,
+ module StripeAPI.Operations.PostCoupons,
+ module StripeAPI.Operations.GetCouponsCoupon,
+ module StripeAPI.Operations.PostCouponsCoupon,
+ module StripeAPI.Operations.DeleteCouponsCoupon,
+ module StripeAPI.Operations.GetCreditNotes,
+ module StripeAPI.Operations.PostCreditNotes,
+ module StripeAPI.Operations.GetCreditNotesPreview,
+ module StripeAPI.Operations.GetCreditNotesPreviewLines,
+ module StripeAPI.Operations.GetCreditNotesCreditNoteLines,
+ module StripeAPI.Operations.GetCreditNotesId,
+ module StripeAPI.Operations.PostCreditNotesId,
+ module StripeAPI.Operations.PostCreditNotesIdVoid,
+ module StripeAPI.Operations.GetCustomers,
+ module StripeAPI.Operations.PostCustomers,
+ module StripeAPI.Operations.GetCustomersCustomer,
+ module StripeAPI.Operations.PostCustomersCustomer,
+ module StripeAPI.Operations.DeleteCustomersCustomer,
+ module StripeAPI.Operations.GetCustomersCustomerBalanceTransactions,
+ module StripeAPI.Operations.PostCustomersCustomerBalanceTransactions,
+ module StripeAPI.Operations.GetCustomersCustomerBalanceTransactionsTransaction,
+ module StripeAPI.Operations.PostCustomersCustomerBalanceTransactionsTransaction,
+ module StripeAPI.Operations.GetCustomersCustomerBankAccounts,
+ module StripeAPI.Operations.PostCustomersCustomerBankAccounts,
+ module StripeAPI.Operations.GetCustomersCustomerBankAccountsId,
+ module StripeAPI.Operations.PostCustomersCustomerBankAccountsId,
+ module StripeAPI.Operations.DeleteCustomersCustomerBankAccountsId,
+ module StripeAPI.Operations.PostCustomersCustomerBankAccountsIdVerify,
+ module StripeAPI.Operations.GetCustomersCustomerCards,
+ module StripeAPI.Operations.PostCustomersCustomerCards,
+ module StripeAPI.Operations.GetCustomersCustomerCardsId,
+ module StripeAPI.Operations.PostCustomersCustomerCardsId,
+ module StripeAPI.Operations.DeleteCustomersCustomerCardsId,
+ module StripeAPI.Operations.GetCustomersCustomerDiscount,
+ module StripeAPI.Operations.DeleteCustomersCustomerDiscount,
+ module StripeAPI.Operations.GetCustomersCustomerSources,
+ module StripeAPI.Operations.PostCustomersCustomerSources,
+ module StripeAPI.Operations.GetCustomersCustomerSourcesId,
+ module StripeAPI.Operations.PostCustomersCustomerSourcesId,
+ module StripeAPI.Operations.DeleteCustomersCustomerSourcesId,
+ module StripeAPI.Operations.PostCustomersCustomerSourcesIdVerify,
+ module StripeAPI.Operations.GetCustomersCustomerSubscriptions,
+ module StripeAPI.Operations.PostCustomersCustomerSubscriptions,
+ module StripeAPI.Operations.GetCustomersCustomerSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.PostCustomersCustomerSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.DeleteCustomersCustomerSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount,
+ module StripeAPI.Operations.DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount,
+ module StripeAPI.Operations.GetCustomersCustomerTaxIds,
+ module StripeAPI.Operations.PostCustomersCustomerTaxIds,
+ module StripeAPI.Operations.GetCustomersCustomerTaxIdsId,
+ module StripeAPI.Operations.DeleteCustomersCustomerTaxIdsId,
+ module StripeAPI.Operations.GetDisputes,
+ module StripeAPI.Operations.GetDisputesDispute,
+ module StripeAPI.Operations.PostDisputesDispute,
+ module StripeAPI.Operations.PostDisputesDisputeClose,
+ module StripeAPI.Operations.PostEphemeralKeys,
+ module StripeAPI.Operations.DeleteEphemeralKeysKey,
+ module StripeAPI.Operations.GetEvents,
+ module StripeAPI.Operations.GetEventsId,
+ module StripeAPI.Operations.GetExchangeRates,
+ module StripeAPI.Operations.GetExchangeRatesCurrency,
+ module StripeAPI.Operations.GetFileLinks,
+ module StripeAPI.Operations.PostFileLinks,
+ module StripeAPI.Operations.GetFileLinksLink,
+ module StripeAPI.Operations.PostFileLinksLink,
+ module StripeAPI.Operations.GetFiles,
+ module StripeAPI.Operations.PostFiles,
+ module StripeAPI.Operations.GetFilesFile,
+ module StripeAPI.Operations.GetInvoiceitems,
+ module StripeAPI.Operations.PostInvoiceitems,
+ module StripeAPI.Operations.GetInvoiceitemsInvoiceitem,
+ module StripeAPI.Operations.PostInvoiceitemsInvoiceitem,
+ module StripeAPI.Operations.DeleteInvoiceitemsInvoiceitem,
+ module StripeAPI.Operations.GetInvoices,
+ module StripeAPI.Operations.PostInvoices,
+ module StripeAPI.Operations.GetInvoicesUpcoming,
+ module StripeAPI.Operations.GetInvoicesUpcomingLines,
+ module StripeAPI.Operations.GetInvoicesInvoice,
+ module StripeAPI.Operations.PostInvoicesInvoice,
+ module StripeAPI.Operations.DeleteInvoicesInvoice,
+ module StripeAPI.Operations.PostInvoicesInvoiceFinalize,
+ module StripeAPI.Operations.GetInvoicesInvoiceLines,
+ module StripeAPI.Operations.PostInvoicesInvoiceMarkUncollectible,
+ module StripeAPI.Operations.PostInvoicesInvoicePay,
+ module StripeAPI.Operations.PostInvoicesInvoiceSend,
+ module StripeAPI.Operations.PostInvoicesInvoiceVoid,
+ module StripeAPI.Operations.GetIssuerFraudRecords,
+ module StripeAPI.Operations.GetIssuerFraudRecordsIssuerFraudRecord,
+ module StripeAPI.Operations.GetIssuingAuthorizations,
+ module StripeAPI.Operations.GetIssuingAuthorizationsAuthorization,
+ module StripeAPI.Operations.PostIssuingAuthorizationsAuthorization,
+ module StripeAPI.Operations.PostIssuingAuthorizationsAuthorizationApprove,
+ module StripeAPI.Operations.PostIssuingAuthorizationsAuthorizationDecline,
+ module StripeAPI.Operations.GetIssuingCardholders,
+ module StripeAPI.Operations.PostIssuingCardholders,
+ module StripeAPI.Operations.GetIssuingCardholdersCardholder,
+ module StripeAPI.Operations.PostIssuingCardholdersCardholder,
+ module StripeAPI.Operations.GetIssuingCards,
+ module StripeAPI.Operations.PostIssuingCards,
+ module StripeAPI.Operations.GetIssuingCardsCard,
+ module StripeAPI.Operations.PostIssuingCardsCard,
+ module StripeAPI.Operations.GetIssuingCardsCardDetails,
+ module StripeAPI.Operations.GetIssuingCardsCardPin,
+ module StripeAPI.Operations.PostIssuingCardsCardPin,
+ module StripeAPI.Operations.GetIssuingDisputes,
+ module StripeAPI.Operations.PostIssuingDisputes,
+ module StripeAPI.Operations.GetIssuingDisputesDispute,
+ module StripeAPI.Operations.PostIssuingDisputesDispute,
+ module StripeAPI.Operations.GetIssuingSettlements,
+ module StripeAPI.Operations.GetIssuingSettlementsSettlement,
+ module StripeAPI.Operations.PostIssuingSettlementsSettlement,
+ module StripeAPI.Operations.GetIssuingTransactions,
+ module StripeAPI.Operations.GetIssuingTransactionsTransaction,
+ module StripeAPI.Operations.PostIssuingTransactionsTransaction,
+ module StripeAPI.Operations.PostIssuingVerifications,
+ module StripeAPI.Operations.GetMandatesMandate,
+ module StripeAPI.Operations.GetOrderReturns,
+ module StripeAPI.Operations.GetOrderReturnsId,
+ module StripeAPI.Operations.GetOrders,
+ module StripeAPI.Operations.PostOrders,
+ module StripeAPI.Operations.GetOrdersId,
+ module StripeAPI.Operations.PostOrdersId,
+ module StripeAPI.Operations.PostOrdersIdPay,
+ module StripeAPI.Operations.PostOrdersIdReturns,
+ module StripeAPI.Operations.GetPaymentIntents,
+ module StripeAPI.Operations.PostPaymentIntents,
+ module StripeAPI.Operations.GetPaymentIntentsIntent,
+ module StripeAPI.Operations.PostPaymentIntentsIntent,
+ module StripeAPI.Operations.PostPaymentIntentsIntentCancel,
+ module StripeAPI.Operations.PostPaymentIntentsIntentCapture,
+ module StripeAPI.Operations.PostPaymentIntentsIntentConfirm,
+ module StripeAPI.Operations.GetPaymentMethods,
+ module StripeAPI.Operations.PostPaymentMethods,
+ module StripeAPI.Operations.GetPaymentMethodsPaymentMethod,
+ module StripeAPI.Operations.PostPaymentMethodsPaymentMethod,
+ module StripeAPI.Operations.PostPaymentMethodsPaymentMethodAttach,
+ module StripeAPI.Operations.PostPaymentMethodsPaymentMethodDetach,
+ module StripeAPI.Operations.GetPayouts,
+ module StripeAPI.Operations.PostPayouts,
+ module StripeAPI.Operations.GetPayoutsPayout,
+ module StripeAPI.Operations.PostPayoutsPayout,
+ module StripeAPI.Operations.PostPayoutsPayoutCancel,
+ module StripeAPI.Operations.GetPlans,
+ module StripeAPI.Operations.PostPlans,
+ module StripeAPI.Operations.GetPlansPlan,
+ module StripeAPI.Operations.PostPlansPlan,
+ module StripeAPI.Operations.DeletePlansPlan,
+ module StripeAPI.Operations.GetProducts,
+ module StripeAPI.Operations.PostProducts,
+ module StripeAPI.Operations.GetProductsId,
+ module StripeAPI.Operations.PostProductsId,
+ module StripeAPI.Operations.DeleteProductsId,
+ module StripeAPI.Operations.GetRadarEarlyFraudWarnings,
+ module StripeAPI.Operations.GetRadarEarlyFraudWarningsEarlyFraudWarning,
+ module StripeAPI.Operations.GetRadarValueListItems,
+ module StripeAPI.Operations.PostRadarValueListItems,
+ module StripeAPI.Operations.GetRadarValueListItemsItem,
+ module StripeAPI.Operations.DeleteRadarValueListItemsItem,
+ module StripeAPI.Operations.GetRadarValueLists,
+ module StripeAPI.Operations.PostRadarValueLists,
+ module StripeAPI.Operations.GetRadarValueListsValueList,
+ module StripeAPI.Operations.PostRadarValueListsValueList,
+ module StripeAPI.Operations.DeleteRadarValueListsValueList,
+ module StripeAPI.Operations.GetRecipients,
+ module StripeAPI.Operations.PostRecipients,
+ module StripeAPI.Operations.GetRecipientsId,
+ module StripeAPI.Operations.PostRecipientsId,
+ module StripeAPI.Operations.DeleteRecipientsId,
+ module StripeAPI.Operations.GetRefunds,
+ module StripeAPI.Operations.PostRefunds,
+ module StripeAPI.Operations.GetRefundsRefund,
+ module StripeAPI.Operations.PostRefundsRefund,
+ module StripeAPI.Operations.GetReportingReportRuns,
+ module StripeAPI.Operations.PostReportingReportRuns,
+ module StripeAPI.Operations.GetReportingReportRunsReportRun,
+ module StripeAPI.Operations.GetReportingReportTypes,
+ module StripeAPI.Operations.GetReportingReportTypesReportType,
+ module StripeAPI.Operations.GetReviews,
+ module StripeAPI.Operations.GetReviewsReview,
+ module StripeAPI.Operations.PostReviewsReviewApprove,
+ module StripeAPI.Operations.GetSetupIntents,
+ module StripeAPI.Operations.PostSetupIntents,
+ module StripeAPI.Operations.GetSetupIntentsIntent,
+ module StripeAPI.Operations.PostSetupIntentsIntent,
+ module StripeAPI.Operations.PostSetupIntentsIntentCancel,
+ module StripeAPI.Operations.PostSetupIntentsIntentConfirm,
+ module StripeAPI.Operations.GetSigmaScheduledQueryRuns,
+ module StripeAPI.Operations.GetSigmaScheduledQueryRunsScheduledQueryRun,
+ module StripeAPI.Operations.GetSkus,
+ module StripeAPI.Operations.PostSkus,
+ module StripeAPI.Operations.GetSkusId,
+ module StripeAPI.Operations.PostSkusId,
+ module StripeAPI.Operations.DeleteSkusId,
+ module StripeAPI.Operations.PostSources,
+ module StripeAPI.Operations.GetSourcesSource,
+ module StripeAPI.Operations.PostSourcesSource,
+ module StripeAPI.Operations.GetSourcesSourceMandateNotificationsMandateNotification,
+ module StripeAPI.Operations.GetSourcesSourceSourceTransactions,
+ module StripeAPI.Operations.GetSourcesSourceSourceTransactionsSourceTransaction,
+ module StripeAPI.Operations.PostSourcesSourceVerify,
+ module StripeAPI.Operations.GetSubscriptionItems,
+ module StripeAPI.Operations.PostSubscriptionItems,
+ module StripeAPI.Operations.GetSubscriptionItemsItem,
+ module StripeAPI.Operations.PostSubscriptionItemsItem,
+ module StripeAPI.Operations.DeleteSubscriptionItemsItem,
+ module StripeAPI.Operations.GetSubscriptionItemsSubscriptionItemUsageRecordSummaries,
+ module StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords,
+ module StripeAPI.Operations.GetSubscriptionSchedules,
+ module StripeAPI.Operations.PostSubscriptionSchedules,
+ module StripeAPI.Operations.GetSubscriptionSchedulesSchedule,
+ module StripeAPI.Operations.PostSubscriptionSchedulesSchedule,
+ module StripeAPI.Operations.PostSubscriptionSchedulesScheduleCancel,
+ module StripeAPI.Operations.PostSubscriptionSchedulesScheduleRelease,
+ module StripeAPI.Operations.GetSubscriptions,
+ module StripeAPI.Operations.PostSubscriptions,
+ module StripeAPI.Operations.GetSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.PostSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.DeleteSubscriptionsSubscriptionExposedId,
+ module StripeAPI.Operations.DeleteSubscriptionsSubscriptionExposedIdDiscount,
+ module StripeAPI.Operations.GetTaxRates,
+ module StripeAPI.Operations.PostTaxRates,
+ module StripeAPI.Operations.GetTaxRatesTaxRate,
+ module StripeAPI.Operations.PostTaxRatesTaxRate,
+ module StripeAPI.Operations.PostTerminalConnectionTokens,
+ module StripeAPI.Operations.GetTerminalLocations,
+ module StripeAPI.Operations.PostTerminalLocations,
+ module StripeAPI.Operations.GetTerminalLocationsLocation,
+ module StripeAPI.Operations.PostTerminalLocationsLocation,
+ module StripeAPI.Operations.DeleteTerminalLocationsLocation,
+ module StripeAPI.Operations.GetTerminalReaders,
+ module StripeAPI.Operations.PostTerminalReaders,
+ module StripeAPI.Operations.GetTerminalReadersReader,
+ module StripeAPI.Operations.PostTerminalReadersReader,
+ module StripeAPI.Operations.DeleteTerminalReadersReader,
+ module StripeAPI.Operations.PostTokens,
+ module StripeAPI.Operations.GetTokensToken,
+ module StripeAPI.Operations.GetTopups,
+ module StripeAPI.Operations.PostTopups,
+ module StripeAPI.Operations.GetTopupsTopup,
+ module StripeAPI.Operations.PostTopupsTopup,
+ module StripeAPI.Operations.PostTopupsTopupCancel,
+ module StripeAPI.Operations.GetTransfers,
+ module StripeAPI.Operations.PostTransfers,
+ module StripeAPI.Operations.GetTransfersIdReversals,
+ module StripeAPI.Operations.PostTransfersIdReversals,
+ module StripeAPI.Operations.GetTransfersTransfer,
+ module StripeAPI.Operations.PostTransfersTransfer,
+ module StripeAPI.Operations.GetTransfersTransferReversalsId,
+ module StripeAPI.Operations.PostTransfersTransferReversalsId,
+ module StripeAPI.Operations.GetWebhookEndpoints,
+ module StripeAPI.Operations.PostWebhookEndpoints,
+ module StripeAPI.Operations.GetWebhookEndpointsWebhookEndpoint,
+ module StripeAPI.Operations.PostWebhookEndpointsWebhookEndpoint,
+ module StripeAPI.Operations.DeleteWebhookEndpointsWebhookEndpoint,
+ module StripeAPI.Types,
+ module StripeAPI.CyclicTypes,
+ module StripeAPI.Types.AccountCapabilities,
+ module StripeAPI.Types.AccountDashboardSettings,
+ module StripeAPI.Types.AccountDeclineChargeOn,
+ module StripeAPI.Types.AccountLink,
+ module StripeAPI.Types.AccountPaymentsSettings,
+ module StripeAPI.Types.AccountRequirementsError,
+ module StripeAPI.Types.AccountTosAcceptance,
+ module StripeAPI.Types.Address,
+ module StripeAPI.Types.ApplePayDomain,
+ module StripeAPI.Types.Application,
+ module StripeAPI.Types.BalanceAmountBySourceType,
+ module StripeAPI.Types.BitcoinTransaction,
+ module StripeAPI.Types.CardMandatePaymentMethodDetails,
+ module StripeAPI.Types.ChargeFraudDetails,
+ module StripeAPI.Types.CheckoutSessionCustomDisplayItemDescription,
+ module StripeAPI.Types.CountrySpecVerificationFieldDetails,
+ module StripeAPI.Types.Coupon,
+ module StripeAPI.Types.DeletedAccount,
+ module StripeAPI.Types.DeletedAlipayAccount,
+ module StripeAPI.Types.DeletedApplePayDomain,
+ module StripeAPI.Types.DeletedBankAccount,
+ module StripeAPI.Types.DeletedBitcoinReceiver,
+ module StripeAPI.Types.DeletedCard,
+ module StripeAPI.Types.DeletedCoupon,
+ module StripeAPI.Types.DeletedCustomer,
+ module StripeAPI.Types.DeletedDiscount,
+ module StripeAPI.Types.DeletedInvoice,
+ module StripeAPI.Types.DeletedInvoiceitem,
+ module StripeAPI.Types.DeletedPerson,
+ module StripeAPI.Types.DeletedPlan,
+ module StripeAPI.Types.DeletedProduct,
+ module StripeAPI.Types.DeletedRadarValueList,
+ module StripeAPI.Types.DeletedRadarValueListItem,
+ module StripeAPI.Types.DeletedRecipient,
+ module StripeAPI.Types.DeletedSku,
+ module StripeAPI.Types.DeletedSubscriptionItem,
+ module StripeAPI.Types.DeletedTaxId,
+ module StripeAPI.Types.DeletedTerminalLocation,
+ module StripeAPI.Types.DeletedTerminalReader,
+ module StripeAPI.Types.DeletedWebhookEndpoint,
+ module StripeAPI.Types.DeliveryEstimate,
+ module StripeAPI.Types.DisputeEvidenceDetails,
+ module StripeAPI.Types.EphemeralKey,
+ module StripeAPI.Types.ExchangeRate,
+ module StripeAPI.Types.Fee,
+ module StripeAPI.Types.FinancialReportingFinanceReportRunRunParameters,
+ module StripeAPI.Types.Inventory,
+ module StripeAPI.Types.InvoiceItemThresholdReason,
+ module StripeAPI.Types.InvoiceLineItemPeriod,
+ module StripeAPI.Types.InvoiceSettingCustomField,
+ module StripeAPI.Types.InvoiceSettingSubscriptionScheduleSetting,
+ module StripeAPI.Types.InvoicesResourceInvoiceTaxId,
+ module StripeAPI.Types.InvoicesStatusTransitions,
+ module StripeAPI.Types.IssuingSettlement,
+ module StripeAPI.Types.IssuingVerification,
+ module StripeAPI.Types.IssuingAuthorizationMerchantData,
+ module StripeAPI.Types.IssuingAuthorizationVerificationData,
+ module StripeAPI.Types.IssuingAuthorizationViolatedAuthControl,
+ module StripeAPI.Types.IssuingCardPin,
+ module StripeAPI.Types.IssuingCardSpendingLimit,
+ module StripeAPI.Types.IssuingCardholderCompany,
+ module StripeAPI.Types.IssuingCardholderIndividualDob,
+ module StripeAPI.Types.IssuingCardholderRequirements,
+ module StripeAPI.Types.IssuingCardholderSpendingLimit,
+ module StripeAPI.Types.LegalEntityDob,
+ module StripeAPI.Types.LegalEntityJapanAddress,
+ module StripeAPI.Types.LightAccountLogout,
+ module StripeAPI.Types.LoginLink,
+ module StripeAPI.Types.MandateMultiUse,
+ module StripeAPI.Types.MandateSepaDebit,
+ module StripeAPI.Types.MandateSingleUse,
+ module StripeAPI.Types.NotificationEventData,
+ module StripeAPI.Types.NotificationEventRequest,
+ module StripeAPI.Types.OfflineAcceptance,
+ module StripeAPI.Types.OnlineAcceptance,
+ module StripeAPI.Types.PackageDimensions,
+ module StripeAPI.Types.PaymentIntentNextActionRedirectToUrl,
+ module StripeAPI.Types.PaymentMethodCardChecks,
+ module StripeAPI.Types.PaymentMethodCardPresent,
+ module StripeAPI.Types.PaymentMethodCardWalletAmexExpressCheckout,
+ module StripeAPI.Types.PaymentMethodCardWalletApplePay,
+ module StripeAPI.Types.PaymentMethodCardWalletGooglePay,
+ module StripeAPI.Types.PaymentMethodCardWalletSamsungPay,
+ module StripeAPI.Types.PaymentMethodDetailsAchCreditTransfer,
+ module StripeAPI.Types.PaymentMethodDetailsAchDebit,
+ module StripeAPI.Types.PaymentMethodDetailsAlipay,
+ module StripeAPI.Types.PaymentMethodDetailsBancontact,
+ module StripeAPI.Types.PaymentMethodDetailsCardChecks,
+ module StripeAPI.Types.PaymentMethodDetailsCardInstallmentsPlan,
+ module StripeAPI.Types.PaymentMethodDetailsCardPresentReceipt,
+ module StripeAPI.Types.PaymentMethodDetailsCardWalletAmexExpressCheckout,
+ module StripeAPI.Types.PaymentMethodDetailsCardWalletApplePay,
+ module StripeAPI.Types.PaymentMethodDetailsCardWalletGooglePay,
+ module StripeAPI.Types.PaymentMethodDetailsCardWalletSamsungPay,
+ module StripeAPI.Types.PaymentMethodDetailsEps,
+ module StripeAPI.Types.PaymentMethodDetailsFpx,
+ module StripeAPI.Types.PaymentMethodDetailsGiropay,
+ module StripeAPI.Types.PaymentMethodDetailsIdeal,
+ module StripeAPI.Types.PaymentMethodDetailsKlarna,
+ module StripeAPI.Types.PaymentMethodDetailsMultibanco,
+ module StripeAPI.Types.PaymentMethodDetailsP24,
+ module StripeAPI.Types.PaymentMethodDetailsSepaDebit,
+ module StripeAPI.Types.PaymentMethodDetailsSofort,
+ module StripeAPI.Types.PaymentMethodDetailsStripeAccount,
+ module StripeAPI.Types.PaymentMethodDetailsWechat,
+ module StripeAPI.Types.PaymentMethodFpx,
+ module StripeAPI.Types.PaymentMethodIdeal,
+ module StripeAPI.Types.PaymentMethodSepaDebit,
+ module StripeAPI.Types.Period,
+ module StripeAPI.Types.PersonRelationship,
+ module StripeAPI.Types.PlanTier,
+ module StripeAPI.Types.PlatformTaxFee,
+ module StripeAPI.Types.RadarValueListItem,
+ module StripeAPI.Types.RadarReviewResourceLocation,
+ module StripeAPI.Types.RadarReviewResourceSession,
+ module StripeAPI.Types.ReportingReportType,
+ module StripeAPI.Types.ReserveTransaction,
+ module StripeAPI.Types.Rule,
+ module StripeAPI.Types.SetupIntentNextActionRedirectToUrl,
+ module StripeAPI.Types.SetupIntentPaymentMethodOptionsCard,
+ module StripeAPI.Types.SigmaScheduledQueryRunError,
+ module StripeAPI.Types.SourceCodeVerificationFlow,
+ module StripeAPI.Types.SourceMandateNotificationBacsDebitData,
+ module StripeAPI.Types.SourceMandateNotificationSepaDebitData,
+ module StripeAPI.Types.SourceOrderItem,
+ module StripeAPI.Types.SourceReceiverFlow,
+ module StripeAPI.Types.SourceRedirectFlow,
+ module StripeAPI.Types.SourceTransactionAchCreditTransferData,
+ module StripeAPI.Types.SourceTransactionChfCreditTransferData,
+ module StripeAPI.Types.SourceTransactionGbpCreditTransferData,
+ module StripeAPI.Types.SourceTransactionPaperCheckData,
+ module StripeAPI.Types.SourceTransactionSepaCreditTransferData,
+ module StripeAPI.Types.SourceTypeAchCreditTransfer,
+ module StripeAPI.Types.SourceTypeAchDebit,
+ module StripeAPI.Types.SourceTypeAlipay,
+ module StripeAPI.Types.SourceTypeBancontact,
+ module StripeAPI.Types.SourceTypeCard,
+ module StripeAPI.Types.SourceTypeCardPresent,
+ module StripeAPI.Types.SourceTypeEps,
+ module StripeAPI.Types.SourceTypeGiropay,
+ module StripeAPI.Types.SourceTypeIdeal,
+ module StripeAPI.Types.SourceTypeKlarna,
+ module StripeAPI.Types.SourceTypeMultibanco,
+ module StripeAPI.Types.SourceTypeP24,
+ module StripeAPI.Types.SourceTypeSepaDebit,
+ module StripeAPI.Types.SourceTypeSofort,
+ module StripeAPI.Types.SourceTypeThreeDSecure,
+ module StripeAPI.Types.SourceTypeWechat,
+ module StripeAPI.Types.StatusTransitions,
+ module StripeAPI.Types.SubscriptionBillingThresholds,
+ module StripeAPI.Types.SubscriptionItemBillingThresholds,
+ module StripeAPI.Types.SubscriptionPendingInvoiceItemInterval,
+ module StripeAPI.Types.SubscriptionScheduleCurrentPhase,
+ module StripeAPI.Types.TaxDeductedAtSource,
+ module StripeAPI.Types.TaxIdVerification,
+ module StripeAPI.Types.TaxRate,
+ module StripeAPI.Types.TerminalConnectionToken,
+ module StripeAPI.Types.TerminalReader,
+ module StripeAPI.Types.ThreeDSecureDetails,
+ module StripeAPI.Types.ThreeDSecureUsage,
+ module StripeAPI.Types.TransferSchedule,
+ module StripeAPI.Types.TransformUsage,
+ module StripeAPI.Types.UsageRecord,
+ module StripeAPI.Types.WebhookEndpoint,
+ module StripeAPI.Types.AccountCapabilityRequirements,
+ module StripeAPI.Types.AccountCardPaymentsSettings,
+ module StripeAPI.Types.AccountPayoutSettings,
+ module StripeAPI.Types.AccountRequirements,
+ module StripeAPI.Types.BalanceAmount,
+ module StripeAPI.Types.BitcoinReceiver,
+ module StripeAPI.Types.ChargeOutcome,
+ module StripeAPI.Types.CountrySpecVerificationFields,
+ module StripeAPI.Types.CreditNoteTaxAmount,
+ module StripeAPI.Types.CustomerAcceptance,
+ module StripeAPI.Types.InvoiceTaxAmount,
+ module StripeAPI.Types.InvoiceThresholdReason,
+ module StripeAPI.Types.IssuingAuthorizationRequest,
+ module StripeAPI.Types.IssuingCardAuthorizationControls,
+ module StripeAPI.Types.IssuingCardShipping,
+ module StripeAPI.Types.IssuingCardholderAddress,
+ module StripeAPI.Types.IssuingCardholderAuthorizationControls,
+ module StripeAPI.Types.MandatePaymentMethodDetails,
+ module StripeAPI.Types.PaymentIntentNextAction,
+ module StripeAPI.Types.PersonRequirements,
+ module StripeAPI.Types.RadarValueList,
+ module StripeAPI.Types.SetupIntentNextAction,
+ module StripeAPI.Types.SetupIntentPaymentMethodOptions,
+ module StripeAPI.Types.Shipping,
+ module StripeAPI.Types.SourceTransaction,
+ module StripeAPI.Types.TerminalLocation,
+ module StripeAPI.Types.UsageRecordSummary,
+ module StripeAPI.Types.Balance,
+ module StripeAPI.Types.CountrySpec,
+ module StripeAPI.Types.CreditNoteLineItem,
+ module StripeAPI.Types.SourceOrder,
+ module StripeAPI.Configuration,
+ module StripeAPI.SecuritySchemes,
+ module StripeAPI.Common,
+ ) where
+
+import StripeAPI.Operations.Post3dSecure
+import StripeAPI.Operations.Get3dSecureThreeDSecure
+import StripeAPI.Operations.GetAccount
+import StripeAPI.Operations.PostAccount
+import StripeAPI.Operations.DeleteAccount
+import StripeAPI.Operations.PostAccountBankAccounts
+import StripeAPI.Operations.GetAccountBankAccountsId
+import StripeAPI.Operations.PostAccountBankAccountsId
+import StripeAPI.Operations.DeleteAccountBankAccountsId
+import StripeAPI.Operations.GetAccountCapabilities
+import StripeAPI.Operations.GetAccountCapabilitiesCapability
+import StripeAPI.Operations.PostAccountCapabilitiesCapability
+import StripeAPI.Operations.GetAccountExternalAccounts
+import StripeAPI.Operations.PostAccountExternalAccounts
+import StripeAPI.Operations.GetAccountExternalAccountsId
+import StripeAPI.Operations.PostAccountExternalAccountsId
+import StripeAPI.Operations.DeleteAccountExternalAccountsId
+import StripeAPI.Operations.PostAccountLoginLinks
+import StripeAPI.Operations.PutAccountLogout
+import StripeAPI.Operations.GetAccountPeople
+import StripeAPI.Operations.PostAccountPeople
+import StripeAPI.Operations.GetAccountPeoplePerson
+import StripeAPI.Operations.PostAccountPeoplePerson
+import StripeAPI.Operations.DeleteAccountPeoplePerson
+import StripeAPI.Operations.GetAccountPersons
+import StripeAPI.Operations.PostAccountPersons
+import StripeAPI.Operations.GetAccountPersonsPerson
+import StripeAPI.Operations.PostAccountPersonsPerson
+import StripeAPI.Operations.DeleteAccountPersonsPerson
+import StripeAPI.Operations.PostAccountLinks
+import StripeAPI.Operations.GetAccounts
+import StripeAPI.Operations.PostAccounts
+import StripeAPI.Operations.GetAccountsAccount
+import StripeAPI.Operations.PostAccountsAccount
+import StripeAPI.Operations.DeleteAccountsAccount
+import StripeAPI.Operations.PostAccountsAccountBankAccounts
+import StripeAPI.Operations.GetAccountsAccountBankAccountsId
+import StripeAPI.Operations.PostAccountsAccountBankAccountsId
+import StripeAPI.Operations.DeleteAccountsAccountBankAccountsId
+import StripeAPI.Operations.GetAccountsAccountCapabilities
+import StripeAPI.Operations.GetAccountsAccountCapabilitiesCapability
+import StripeAPI.Operations.PostAccountsAccountCapabilitiesCapability
+import StripeAPI.Operations.GetAccountsAccountExternalAccounts
+import StripeAPI.Operations.PostAccountsAccountExternalAccounts
+import StripeAPI.Operations.GetAccountsAccountExternalAccountsId
+import StripeAPI.Operations.PostAccountsAccountExternalAccountsId
+import StripeAPI.Operations.DeleteAccountsAccountExternalAccountsId
+import StripeAPI.Operations.PostAccountsAccountLoginLinks
+import StripeAPI.Operations.PutAccountsAccountLogout
+import StripeAPI.Operations.GetAccountsAccountPeople
+import StripeAPI.Operations.PostAccountsAccountPeople
+import StripeAPI.Operations.GetAccountsAccountPeoplePerson
+import StripeAPI.Operations.PostAccountsAccountPeoplePerson
+import StripeAPI.Operations.DeleteAccountsAccountPeoplePerson
+import StripeAPI.Operations.GetAccountsAccountPersons
+import StripeAPI.Operations.PostAccountsAccountPersons
+import StripeAPI.Operations.GetAccountsAccountPersonsPerson
+import StripeAPI.Operations.PostAccountsAccountPersonsPerson
+import StripeAPI.Operations.DeleteAccountsAccountPersonsPerson
+import StripeAPI.Operations.PostAccountsAccountReject
+import StripeAPI.Operations.GetApplePayDomains
+import StripeAPI.Operations.PostApplePayDomains
+import StripeAPI.Operations.GetApplePayDomainsDomain
+import StripeAPI.Operations.DeleteApplePayDomainsDomain
+import StripeAPI.Operations.GetApplicationFees
+import StripeAPI.Operations.GetApplicationFeesFeeRefundsId
+import StripeAPI.Operations.PostApplicationFeesFeeRefundsId
+import StripeAPI.Operations.GetApplicationFeesId
+import StripeAPI.Operations.PostApplicationFeesIdRefund
+import StripeAPI.Operations.GetApplicationFeesIdRefunds
+import StripeAPI.Operations.PostApplicationFeesIdRefunds
+import StripeAPI.Operations.GetBalance
+import StripeAPI.Operations.GetBalanceHistory
+import StripeAPI.Operations.GetBalanceHistoryId
+import StripeAPI.Operations.GetBalanceTransactions
+import StripeAPI.Operations.GetBalanceTransactionsId
+import StripeAPI.Operations.GetBitcoinReceivers
+import StripeAPI.Operations.GetBitcoinReceiversId
+import StripeAPI.Operations.GetBitcoinReceiversReceiverTransactions
+import StripeAPI.Operations.GetBitcoinTransactions
+import StripeAPI.Operations.GetCharges
+import StripeAPI.Operations.PostCharges
+import StripeAPI.Operations.GetChargesCharge
+import StripeAPI.Operations.PostChargesCharge
+import StripeAPI.Operations.PostChargesChargeCapture
+import StripeAPI.Operations.GetChargesChargeDispute
+import StripeAPI.Operations.PostChargesChargeDispute
+import StripeAPI.Operations.PostChargesChargeDisputeClose
+import StripeAPI.Operations.PostChargesChargeRefund
+import StripeAPI.Operations.GetChargesChargeRefunds
+import StripeAPI.Operations.PostChargesChargeRefunds
+import StripeAPI.Operations.GetChargesChargeRefundsRefund
+import StripeAPI.Operations.PostChargesChargeRefundsRefund
+import StripeAPI.Operations.GetCheckoutSessions
+import StripeAPI.Operations.PostCheckoutSessions
+import StripeAPI.Operations.GetCheckoutSessionsSession
+import StripeAPI.Operations.GetCountrySpecs
+import StripeAPI.Operations.GetCountrySpecsCountry
+import StripeAPI.Operations.GetCoupons
+import StripeAPI.Operations.PostCoupons
+import StripeAPI.Operations.GetCouponsCoupon
+import StripeAPI.Operations.PostCouponsCoupon
+import StripeAPI.Operations.DeleteCouponsCoupon
+import StripeAPI.Operations.GetCreditNotes
+import StripeAPI.Operations.PostCreditNotes
+import StripeAPI.Operations.GetCreditNotesPreview
+import StripeAPI.Operations.GetCreditNotesPreviewLines
+import StripeAPI.Operations.GetCreditNotesCreditNoteLines
+import StripeAPI.Operations.GetCreditNotesId
+import StripeAPI.Operations.PostCreditNotesId
+import StripeAPI.Operations.PostCreditNotesIdVoid
+import StripeAPI.Operations.GetCustomers
+import StripeAPI.Operations.PostCustomers
+import StripeAPI.Operations.GetCustomersCustomer
+import StripeAPI.Operations.PostCustomersCustomer
+import StripeAPI.Operations.DeleteCustomersCustomer
+import StripeAPI.Operations.GetCustomersCustomerBalanceTransactions
+import StripeAPI.Operations.PostCustomersCustomerBalanceTransactions
+import StripeAPI.Operations.GetCustomersCustomerBalanceTransactionsTransaction
+import StripeAPI.Operations.PostCustomersCustomerBalanceTransactionsTransaction
+import StripeAPI.Operations.GetCustomersCustomerBankAccounts
+import StripeAPI.Operations.PostCustomersCustomerBankAccounts
+import StripeAPI.Operations.GetCustomersCustomerBankAccountsId
+import StripeAPI.Operations.PostCustomersCustomerBankAccountsId
+import StripeAPI.Operations.DeleteCustomersCustomerBankAccountsId
+import StripeAPI.Operations.PostCustomersCustomerBankAccountsIdVerify
+import StripeAPI.Operations.GetCustomersCustomerCards
+import StripeAPI.Operations.PostCustomersCustomerCards
+import StripeAPI.Operations.GetCustomersCustomerCardsId
+import StripeAPI.Operations.PostCustomersCustomerCardsId
+import StripeAPI.Operations.DeleteCustomersCustomerCardsId
+import StripeAPI.Operations.GetCustomersCustomerDiscount
+import StripeAPI.Operations.DeleteCustomersCustomerDiscount
+import StripeAPI.Operations.GetCustomersCustomerSources
+import StripeAPI.Operations.PostCustomersCustomerSources
+import StripeAPI.Operations.GetCustomersCustomerSourcesId
+import StripeAPI.Operations.PostCustomersCustomerSourcesId
+import StripeAPI.Operations.DeleteCustomersCustomerSourcesId
+import StripeAPI.Operations.PostCustomersCustomerSourcesIdVerify
+import StripeAPI.Operations.GetCustomersCustomerSubscriptions
+import StripeAPI.Operations.PostCustomersCustomerSubscriptions
+import StripeAPI.Operations.GetCustomersCustomerSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.PostCustomersCustomerSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.DeleteCustomersCustomerSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount
+import StripeAPI.Operations.DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount
+import StripeAPI.Operations.GetCustomersCustomerTaxIds
+import StripeAPI.Operations.PostCustomersCustomerTaxIds
+import StripeAPI.Operations.GetCustomersCustomerTaxIdsId
+import StripeAPI.Operations.DeleteCustomersCustomerTaxIdsId
+import StripeAPI.Operations.GetDisputes
+import StripeAPI.Operations.GetDisputesDispute
+import StripeAPI.Operations.PostDisputesDispute
+import StripeAPI.Operations.PostDisputesDisputeClose
+import StripeAPI.Operations.PostEphemeralKeys
+import StripeAPI.Operations.DeleteEphemeralKeysKey
+import StripeAPI.Operations.GetEvents
+import StripeAPI.Operations.GetEventsId
+import StripeAPI.Operations.GetExchangeRates
+import StripeAPI.Operations.GetExchangeRatesCurrency
+import StripeAPI.Operations.GetFileLinks
+import StripeAPI.Operations.PostFileLinks
+import StripeAPI.Operations.GetFileLinksLink
+import StripeAPI.Operations.PostFileLinksLink
+import StripeAPI.Operations.GetFiles
+import StripeAPI.Operations.PostFiles
+import StripeAPI.Operations.GetFilesFile
+import StripeAPI.Operations.GetInvoiceitems
+import StripeAPI.Operations.PostInvoiceitems
+import StripeAPI.Operations.GetInvoiceitemsInvoiceitem
+import StripeAPI.Operations.PostInvoiceitemsInvoiceitem
+import StripeAPI.Operations.DeleteInvoiceitemsInvoiceitem
+import StripeAPI.Operations.GetInvoices
+import StripeAPI.Operations.PostInvoices
+import StripeAPI.Operations.GetInvoicesUpcoming
+import StripeAPI.Operations.GetInvoicesUpcomingLines
+import StripeAPI.Operations.GetInvoicesInvoice
+import StripeAPI.Operations.PostInvoicesInvoice
+import StripeAPI.Operations.DeleteInvoicesInvoice
+import StripeAPI.Operations.PostInvoicesInvoiceFinalize
+import StripeAPI.Operations.GetInvoicesInvoiceLines
+import StripeAPI.Operations.PostInvoicesInvoiceMarkUncollectible
+import StripeAPI.Operations.PostInvoicesInvoicePay
+import StripeAPI.Operations.PostInvoicesInvoiceSend
+import StripeAPI.Operations.PostInvoicesInvoiceVoid
+import StripeAPI.Operations.GetIssuerFraudRecords
+import StripeAPI.Operations.GetIssuerFraudRecordsIssuerFraudRecord
+import StripeAPI.Operations.GetIssuingAuthorizations
+import StripeAPI.Operations.GetIssuingAuthorizationsAuthorization
+import StripeAPI.Operations.PostIssuingAuthorizationsAuthorization
+import StripeAPI.Operations.PostIssuingAuthorizationsAuthorizationApprove
+import StripeAPI.Operations.PostIssuingAuthorizationsAuthorizationDecline
+import StripeAPI.Operations.GetIssuingCardholders
+import StripeAPI.Operations.PostIssuingCardholders
+import StripeAPI.Operations.GetIssuingCardholdersCardholder
+import StripeAPI.Operations.PostIssuingCardholdersCardholder
+import StripeAPI.Operations.GetIssuingCards
+import StripeAPI.Operations.PostIssuingCards
+import StripeAPI.Operations.GetIssuingCardsCard
+import StripeAPI.Operations.PostIssuingCardsCard
+import StripeAPI.Operations.GetIssuingCardsCardDetails
+import StripeAPI.Operations.GetIssuingCardsCardPin
+import StripeAPI.Operations.PostIssuingCardsCardPin
+import StripeAPI.Operations.GetIssuingDisputes
+import StripeAPI.Operations.PostIssuingDisputes
+import StripeAPI.Operations.GetIssuingDisputesDispute
+import StripeAPI.Operations.PostIssuingDisputesDispute
+import StripeAPI.Operations.GetIssuingSettlements
+import StripeAPI.Operations.GetIssuingSettlementsSettlement
+import StripeAPI.Operations.PostIssuingSettlementsSettlement
+import StripeAPI.Operations.GetIssuingTransactions
+import StripeAPI.Operations.GetIssuingTransactionsTransaction
+import StripeAPI.Operations.PostIssuingTransactionsTransaction
+import StripeAPI.Operations.PostIssuingVerifications
+import StripeAPI.Operations.GetMandatesMandate
+import StripeAPI.Operations.GetOrderReturns
+import StripeAPI.Operations.GetOrderReturnsId
+import StripeAPI.Operations.GetOrders
+import StripeAPI.Operations.PostOrders
+import StripeAPI.Operations.GetOrdersId
+import StripeAPI.Operations.PostOrdersId
+import StripeAPI.Operations.PostOrdersIdPay
+import StripeAPI.Operations.PostOrdersIdReturns
+import StripeAPI.Operations.GetPaymentIntents
+import StripeAPI.Operations.PostPaymentIntents
+import StripeAPI.Operations.GetPaymentIntentsIntent
+import StripeAPI.Operations.PostPaymentIntentsIntent
+import StripeAPI.Operations.PostPaymentIntentsIntentCancel
+import StripeAPI.Operations.PostPaymentIntentsIntentCapture
+import StripeAPI.Operations.PostPaymentIntentsIntentConfirm
+import StripeAPI.Operations.GetPaymentMethods
+import StripeAPI.Operations.PostPaymentMethods
+import StripeAPI.Operations.GetPaymentMethodsPaymentMethod
+import StripeAPI.Operations.PostPaymentMethodsPaymentMethod
+import StripeAPI.Operations.PostPaymentMethodsPaymentMethodAttach
+import StripeAPI.Operations.PostPaymentMethodsPaymentMethodDetach
+import StripeAPI.Operations.GetPayouts
+import StripeAPI.Operations.PostPayouts
+import StripeAPI.Operations.GetPayoutsPayout
+import StripeAPI.Operations.PostPayoutsPayout
+import StripeAPI.Operations.PostPayoutsPayoutCancel
+import StripeAPI.Operations.GetPlans
+import StripeAPI.Operations.PostPlans
+import StripeAPI.Operations.GetPlansPlan
+import StripeAPI.Operations.PostPlansPlan
+import StripeAPI.Operations.DeletePlansPlan
+import StripeAPI.Operations.GetProducts
+import StripeAPI.Operations.PostProducts
+import StripeAPI.Operations.GetProductsId
+import StripeAPI.Operations.PostProductsId
+import StripeAPI.Operations.DeleteProductsId
+import StripeAPI.Operations.GetRadarEarlyFraudWarnings
+import StripeAPI.Operations.GetRadarEarlyFraudWarningsEarlyFraudWarning
+import StripeAPI.Operations.GetRadarValueListItems
+import StripeAPI.Operations.PostRadarValueListItems
+import StripeAPI.Operations.GetRadarValueListItemsItem
+import StripeAPI.Operations.DeleteRadarValueListItemsItem
+import StripeAPI.Operations.GetRadarValueLists
+import StripeAPI.Operations.PostRadarValueLists
+import StripeAPI.Operations.GetRadarValueListsValueList
+import StripeAPI.Operations.PostRadarValueListsValueList
+import StripeAPI.Operations.DeleteRadarValueListsValueList
+import StripeAPI.Operations.GetRecipients
+import StripeAPI.Operations.PostRecipients
+import StripeAPI.Operations.GetRecipientsId
+import StripeAPI.Operations.PostRecipientsId
+import StripeAPI.Operations.DeleteRecipientsId
+import StripeAPI.Operations.GetRefunds
+import StripeAPI.Operations.PostRefunds
+import StripeAPI.Operations.GetRefundsRefund
+import StripeAPI.Operations.PostRefundsRefund
+import StripeAPI.Operations.GetReportingReportRuns
+import StripeAPI.Operations.PostReportingReportRuns
+import StripeAPI.Operations.GetReportingReportRunsReportRun
+import StripeAPI.Operations.GetReportingReportTypes
+import StripeAPI.Operations.GetReportingReportTypesReportType
+import StripeAPI.Operations.GetReviews
+import StripeAPI.Operations.GetReviewsReview
+import StripeAPI.Operations.PostReviewsReviewApprove
+import StripeAPI.Operations.GetSetupIntents
+import StripeAPI.Operations.PostSetupIntents
+import StripeAPI.Operations.GetSetupIntentsIntent
+import StripeAPI.Operations.PostSetupIntentsIntent
+import StripeAPI.Operations.PostSetupIntentsIntentCancel
+import StripeAPI.Operations.PostSetupIntentsIntentConfirm
+import StripeAPI.Operations.GetSigmaScheduledQueryRuns
+import StripeAPI.Operations.GetSigmaScheduledQueryRunsScheduledQueryRun
+import StripeAPI.Operations.GetSkus
+import StripeAPI.Operations.PostSkus
+import StripeAPI.Operations.GetSkusId
+import StripeAPI.Operations.PostSkusId
+import StripeAPI.Operations.DeleteSkusId
+import StripeAPI.Operations.PostSources
+import StripeAPI.Operations.GetSourcesSource
+import StripeAPI.Operations.PostSourcesSource
+import StripeAPI.Operations.GetSourcesSourceMandateNotificationsMandateNotification
+import StripeAPI.Operations.GetSourcesSourceSourceTransactions
+import StripeAPI.Operations.GetSourcesSourceSourceTransactionsSourceTransaction
+import StripeAPI.Operations.PostSourcesSourceVerify
+import StripeAPI.Operations.GetSubscriptionItems
+import StripeAPI.Operations.PostSubscriptionItems
+import StripeAPI.Operations.GetSubscriptionItemsItem
+import StripeAPI.Operations.PostSubscriptionItemsItem
+import StripeAPI.Operations.DeleteSubscriptionItemsItem
+import StripeAPI.Operations.GetSubscriptionItemsSubscriptionItemUsageRecordSummaries
+import StripeAPI.Operations.PostSubscriptionItemsSubscriptionItemUsageRecords
+import StripeAPI.Operations.GetSubscriptionSchedules
+import StripeAPI.Operations.PostSubscriptionSchedules
+import StripeAPI.Operations.GetSubscriptionSchedulesSchedule
+import StripeAPI.Operations.PostSubscriptionSchedulesSchedule
+import StripeAPI.Operations.PostSubscriptionSchedulesScheduleCancel
+import StripeAPI.Operations.PostSubscriptionSchedulesScheduleRelease
+import StripeAPI.Operations.GetSubscriptions
+import StripeAPI.Operations.PostSubscriptions
+import StripeAPI.Operations.GetSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.PostSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.DeleteSubscriptionsSubscriptionExposedId
+import StripeAPI.Operations.DeleteSubscriptionsSubscriptionExposedIdDiscount
+import StripeAPI.Operations.GetTaxRates
+import StripeAPI.Operations.PostTaxRates
+import StripeAPI.Operations.GetTaxRatesTaxRate
+import StripeAPI.Operations.PostTaxRatesTaxRate
+import StripeAPI.Operations.PostTerminalConnectionTokens
+import StripeAPI.Operations.GetTerminalLocations
+import StripeAPI.Operations.PostTerminalLocations
+import StripeAPI.Operations.GetTerminalLocationsLocation
+import StripeAPI.Operations.PostTerminalLocationsLocation
+import StripeAPI.Operations.DeleteTerminalLocationsLocation
+import StripeAPI.Operations.GetTerminalReaders
+import StripeAPI.Operations.PostTerminalReaders
+import StripeAPI.Operations.GetTerminalReadersReader
+import StripeAPI.Operations.PostTerminalReadersReader
+import StripeAPI.Operations.DeleteTerminalReadersReader
+import StripeAPI.Operations.PostTokens
+import StripeAPI.Operations.GetTokensToken
+import StripeAPI.Operations.GetTopups
+import StripeAPI.Operations.PostTopups
+import StripeAPI.Operations.GetTopupsTopup
+import StripeAPI.Operations.PostTopupsTopup
+import StripeAPI.Operations.PostTopupsTopupCancel
+import StripeAPI.Operations.GetTransfers
+import StripeAPI.Operations.PostTransfers
+import StripeAPI.Operations.GetTransfersIdReversals
+import StripeAPI.Operations.PostTransfersIdReversals
+import StripeAPI.Operations.GetTransfersTransfer
+import StripeAPI.Operations.PostTransfersTransfer
+import StripeAPI.Operations.GetTransfersTransferReversalsId
+import StripeAPI.Operations.PostTransfersTransferReversalsId
+import StripeAPI.Operations.GetWebhookEndpoints
+import StripeAPI.Operations.PostWebhookEndpoints
+import StripeAPI.Operations.GetWebhookEndpointsWebhookEndpoint
+import StripeAPI.Operations.PostWebhookEndpointsWebhookEndpoint
+import StripeAPI.Operations.DeleteWebhookEndpointsWebhookEndpoint
+import StripeAPI.Types
+import StripeAPI.CyclicTypes
+import StripeAPI.Types.AccountCapabilities
+import StripeAPI.Types.AccountDashboardSettings
+import StripeAPI.Types.AccountDeclineChargeOn
+import StripeAPI.Types.AccountLink
+import StripeAPI.Types.AccountPaymentsSettings
+import StripeAPI.Types.AccountRequirementsError
+import StripeAPI.Types.AccountTosAcceptance
+import StripeAPI.Types.Address
+import StripeAPI.Types.ApplePayDomain
+import StripeAPI.Types.Application
+import StripeAPI.Types.BalanceAmountBySourceType
+import StripeAPI.Types.BitcoinTransaction
+import StripeAPI.Types.CardMandatePaymentMethodDetails
+import StripeAPI.Types.ChargeFraudDetails
+import StripeAPI.Types.CheckoutSessionCustomDisplayItemDescription
+import StripeAPI.Types.CountrySpecVerificationFieldDetails
+import StripeAPI.Types.Coupon
+import StripeAPI.Types.DeletedAccount
+import StripeAPI.Types.DeletedAlipayAccount
+import StripeAPI.Types.DeletedApplePayDomain
+import StripeAPI.Types.DeletedBankAccount
+import StripeAPI.Types.DeletedBitcoinReceiver
+import StripeAPI.Types.DeletedCard
+import StripeAPI.Types.DeletedCoupon
+import StripeAPI.Types.DeletedCustomer
+import StripeAPI.Types.DeletedDiscount
+import StripeAPI.Types.DeletedInvoice
+import StripeAPI.Types.DeletedInvoiceitem
+import StripeAPI.Types.DeletedPerson
+import StripeAPI.Types.DeletedPlan
+import StripeAPI.Types.DeletedProduct
+import StripeAPI.Types.DeletedRadarValueList
+import StripeAPI.Types.DeletedRadarValueListItem
+import StripeAPI.Types.DeletedRecipient
+import StripeAPI.Types.DeletedSku
+import StripeAPI.Types.DeletedSubscriptionItem
+import StripeAPI.Types.DeletedTaxId
+import StripeAPI.Types.DeletedTerminalLocation
+import StripeAPI.Types.DeletedTerminalReader
+import StripeAPI.Types.DeletedWebhookEndpoint
+import StripeAPI.Types.DeliveryEstimate
+import StripeAPI.Types.DisputeEvidenceDetails
+import StripeAPI.Types.EphemeralKey
+import StripeAPI.Types.ExchangeRate
+import StripeAPI.Types.Fee
+import StripeAPI.Types.FinancialReportingFinanceReportRunRunParameters
+import StripeAPI.Types.Inventory
+import StripeAPI.Types.InvoiceItemThresholdReason
+import StripeAPI.Types.InvoiceLineItemPeriod
+import StripeAPI.Types.InvoiceSettingCustomField
+import StripeAPI.Types.InvoiceSettingSubscriptionScheduleSetting
+import StripeAPI.Types.InvoicesResourceInvoiceTaxId
+import StripeAPI.Types.InvoicesStatusTransitions
+import StripeAPI.Types.IssuingSettlement
+import StripeAPI.Types.IssuingVerification
+import StripeAPI.Types.IssuingAuthorizationMerchantData
+import StripeAPI.Types.IssuingAuthorizationVerificationData
+import StripeAPI.Types.IssuingAuthorizationViolatedAuthControl
+import StripeAPI.Types.IssuingCardPin
+import StripeAPI.Types.IssuingCardSpendingLimit
+import StripeAPI.Types.IssuingCardholderCompany
+import StripeAPI.Types.IssuingCardholderIndividualDob
+import StripeAPI.Types.IssuingCardholderRequirements
+import StripeAPI.Types.IssuingCardholderSpendingLimit
+import StripeAPI.Types.LegalEntityDob
+import StripeAPI.Types.LegalEntityJapanAddress
+import StripeAPI.Types.LightAccountLogout
+import StripeAPI.Types.LoginLink
+import StripeAPI.Types.MandateMultiUse
+import StripeAPI.Types.MandateSepaDebit
+import StripeAPI.Types.MandateSingleUse
+import StripeAPI.Types.NotificationEventData
+import StripeAPI.Types.NotificationEventRequest
+import StripeAPI.Types.OfflineAcceptance
+import StripeAPI.Types.OnlineAcceptance
+import StripeAPI.Types.PackageDimensions
+import StripeAPI.Types.PaymentIntentNextActionRedirectToUrl
+import StripeAPI.Types.PaymentMethodCardChecks
+import StripeAPI.Types.PaymentMethodCardPresent
+import StripeAPI.Types.PaymentMethodCardWalletAmexExpressCheckout
+import StripeAPI.Types.PaymentMethodCardWalletApplePay
+import StripeAPI.Types.PaymentMethodCardWalletGooglePay
+import StripeAPI.Types.PaymentMethodCardWalletSamsungPay
+import StripeAPI.Types.PaymentMethodDetailsAchCreditTransfer
+import StripeAPI.Types.PaymentMethodDetailsAchDebit
+import StripeAPI.Types.PaymentMethodDetailsAlipay
+import StripeAPI.Types.PaymentMethodDetailsBancontact
+import StripeAPI.Types.PaymentMethodDetailsCardChecks
+import StripeAPI.Types.PaymentMethodDetailsCardInstallmentsPlan
+import StripeAPI.Types.PaymentMethodDetailsCardPresentReceipt
+import StripeAPI.Types.PaymentMethodDetailsCardWalletAmexExpressCheckout
+import StripeAPI.Types.PaymentMethodDetailsCardWalletApplePay
+import StripeAPI.Types.PaymentMethodDetailsCardWalletGooglePay
+import StripeAPI.Types.PaymentMethodDetailsCardWalletSamsungPay
+import StripeAPI.Types.PaymentMethodDetailsEps
+import StripeAPI.Types.PaymentMethodDetailsFpx
+import StripeAPI.Types.PaymentMethodDetailsGiropay
+import StripeAPI.Types.PaymentMethodDetailsIdeal
+import StripeAPI.Types.PaymentMethodDetailsKlarna
+import StripeAPI.Types.PaymentMethodDetailsMultibanco
+import StripeAPI.Types.PaymentMethodDetailsP24
+import StripeAPI.Types.PaymentMethodDetailsSepaDebit
+import StripeAPI.Types.PaymentMethodDetailsSofort
+import StripeAPI.Types.PaymentMethodDetailsStripeAccount
+import StripeAPI.Types.PaymentMethodDetailsWechat
+import StripeAPI.Types.PaymentMethodFpx
+import StripeAPI.Types.PaymentMethodIdeal
+import StripeAPI.Types.PaymentMethodSepaDebit
+import StripeAPI.Types.Period
+import StripeAPI.Types.PersonRelationship
+import StripeAPI.Types.PlanTier
+import StripeAPI.Types.PlatformTaxFee
+import StripeAPI.Types.RadarValueListItem
+import StripeAPI.Types.RadarReviewResourceLocation
+import StripeAPI.Types.RadarReviewResourceSession
+import StripeAPI.Types.ReportingReportType
+import StripeAPI.Types.ReserveTransaction
+import StripeAPI.Types.Rule
+import StripeAPI.Types.SetupIntentNextActionRedirectToUrl
+import StripeAPI.Types.SetupIntentPaymentMethodOptionsCard
+import StripeAPI.Types.SigmaScheduledQueryRunError
+import StripeAPI.Types.SourceCodeVerificationFlow
+import StripeAPI.Types.SourceMandateNotificationBacsDebitData
+import StripeAPI.Types.SourceMandateNotificationSepaDebitData
+import StripeAPI.Types.SourceOrderItem
+import StripeAPI.Types.SourceReceiverFlow
+import StripeAPI.Types.SourceRedirectFlow
+import StripeAPI.Types.SourceTransactionAchCreditTransferData
+import StripeAPI.Types.SourceTransactionChfCreditTransferData
+import StripeAPI.Types.SourceTransactionGbpCreditTransferData
+import StripeAPI.Types.SourceTransactionPaperCheckData
+import StripeAPI.Types.SourceTransactionSepaCreditTransferData
+import StripeAPI.Types.SourceTypeAchCreditTransfer
+import StripeAPI.Types.SourceTypeAchDebit
+import StripeAPI.Types.SourceTypeAlipay
+import StripeAPI.Types.SourceTypeBancontact
+import StripeAPI.Types.SourceTypeCard
+import StripeAPI.Types.SourceTypeCardPresent
+import StripeAPI.Types.SourceTypeEps
+import StripeAPI.Types.SourceTypeGiropay
+import StripeAPI.Types.SourceTypeIdeal
+import StripeAPI.Types.SourceTypeKlarna
+import StripeAPI.Types.SourceTypeMultibanco
+import StripeAPI.Types.SourceTypeP24
+import StripeAPI.Types.SourceTypeSepaDebit
+import StripeAPI.Types.SourceTypeSofort
+import StripeAPI.Types.SourceTypeThreeDSecure
+import StripeAPI.Types.SourceTypeWechat
+import StripeAPI.Types.StatusTransitions
+import StripeAPI.Types.SubscriptionBillingThresholds
+import StripeAPI.Types.SubscriptionItemBillingThresholds
+import StripeAPI.Types.SubscriptionPendingInvoiceItemInterval
+import StripeAPI.Types.SubscriptionScheduleCurrentPhase
+import StripeAPI.Types.TaxDeductedAtSource
+import StripeAPI.Types.TaxIdVerification
+import StripeAPI.Types.TaxRate
+import StripeAPI.Types.TerminalConnectionToken
+import StripeAPI.Types.TerminalReader
+import StripeAPI.Types.ThreeDSecureDetails
+import StripeAPI.Types.ThreeDSecureUsage
+import StripeAPI.Types.TransferSchedule
+import StripeAPI.Types.TransformUsage
+import StripeAPI.Types.UsageRecord
+import StripeAPI.Types.WebhookEndpoint
+import StripeAPI.Types.AccountCapabilityRequirements
+import StripeAPI.Types.AccountCardPaymentsSettings
+import StripeAPI.Types.AccountPayoutSettings
+import StripeAPI.Types.AccountRequirements
+import StripeAPI.Types.BalanceAmount
+import StripeAPI.Types.BitcoinReceiver
+import StripeAPI.Types.ChargeOutcome
+import StripeAPI.Types.CountrySpecVerificationFields
+import StripeAPI.Types.CreditNoteTaxAmount
+import StripeAPI.Types.CustomerAcceptance
+import StripeAPI.Types.InvoiceTaxAmount
+import StripeAPI.Types.InvoiceThresholdReason
+import StripeAPI.Types.IssuingAuthorizationRequest
+import StripeAPI.Types.IssuingCardAuthorizationControls
+import StripeAPI.Types.IssuingCardShipping
+import StripeAPI.Types.IssuingCardholderAddress
+import StripeAPI.Types.IssuingCardholderAuthorizationControls
+import StripeAPI.Types.MandatePaymentMethodDetails
+import StripeAPI.Types.PaymentIntentNextAction
+import StripeAPI.Types.PersonRequirements
+import StripeAPI.Types.RadarValueList
+import StripeAPI.Types.SetupIntentNextAction
+import StripeAPI.Types.SetupIntentPaymentMethodOptions
+import StripeAPI.Types.Shipping
+import StripeAPI.Types.SourceTransaction
+import StripeAPI.Types.TerminalLocation
+import StripeAPI.Types.UsageRecordSummary
+import StripeAPI.Types.Balance
+import StripeAPI.Types.CountrySpec
+import StripeAPI.Types.CreditNoteLineItem
+import StripeAPI.Types.SourceOrder
+import StripeAPI.Configuration
+import StripeAPI.SecuritySchemes
+import StripeAPI.Common \ No newline at end of file
diff --git a/src/StripeAPI/Common.hs b/src/StripeAPI/Common.hs
new file mode 100644
index 0000000..171eaf2
--- /dev/null
+++ b/src/StripeAPI/Common.hs
@@ -0,0 +1,294 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE UndecidableInstances #-}
+
+-- | This module serves the purpose of defining common functionality which remains the same across all OpenAPI specifications.
+module StripeAPI.Common
+ ( Configuration (..),
+ doCallWithConfiguration,
+ doCallWithConfigurationM,
+ doBodyCallWithConfiguration,
+ doBodyCallWithConfigurationM,
+ runWithConfiguration,
+ MonadHTTP (..),
+ stringifyModel,
+ StringifyModel,
+ SecurityScheme (..),
+ AnonymousSecurityScheme (..),
+ textToByte,
+ JsonByteString (..),
+ JsonDateTime (..),
+ RequestBodyEncoding (..),
+ )
+where
+
+import qualified Control.Exception as Exception
+import qualified Control.Monad.Reader as MR
+import qualified Control.Monad.Trans.Class as MT
+import qualified Data.Aeson as Aeson
+import qualified Data.Bifunctor as BF
+import qualified Data.ByteString.Char8 as B8
+import qualified Data.HashMap.Strict as HMap
+import qualified Data.Maybe as Maybe
+import qualified Data.Scientific as Scientific
+import qualified Data.Text as T
+import Data.Text (Text)
+import qualified Data.Time.LocalTime as Time
+import qualified Data.Vector as Vector
+import GHC.Generics
+import qualified Network.HTTP.Client as HC
+import qualified Network.HTTP.Simple as HS
+
+-- | Abstracts the usage of 'Network.HTTP.Simple.httpBS' away,
+-- so that it can be used for testing
+class Monad m => MonadHTTP m where
+ httpBS :: HS.Request -> m (Either HS.HttpException (HS.Response B8.ByteString))
+
+-- | This instance is the default instance used for production code
+instance MonadHTTP IO where
+ httpBS request =
+ BF.first (\e -> e :: HS.HttpException)
+ <$> Exception.try (HS.httpBS request)
+
+instance MonadHTTP m => MonadHTTP (MR.ReaderT r m) where
+ httpBS = MT.lift . httpBS
+
+-- | An operation can and must be configured with data, which may be common
+-- for many operations.
+--
+-- This configuration consists of information about the server URL and the used security scheme.
+--
+-- In OpenAPI these information can be defined
+--
+-- * Root level
+-- * Path level
+-- * Operation level
+--
+-- To get started, the 'StripeAPI.Configuration.defaultConfiguration' can be used and changed accordingly.
+--
+-- Note that it is possible that @BearerAuthenticationSecurityScheme@ is not available because it is not a security scheme in the OpenAPI specification.
+--
+-- > defaultConfiguration
+-- > { configSecurityScheme = BearerAuthenticationSecurityScheme "token" }
+data Configuration s
+ = Configuration
+ { configBaseURL :: Text,
+ configSecurityScheme :: s
+ }
+ deriving (Show, Ord, Eq, Generic)
+
+-- | Defines how a request body is encoded
+data RequestBodyEncoding
+ = -- | Encode the body as JSON
+ RequestBodyEncodingJSON
+ | -- | Encode the body as form data
+ RequestBodyEncodingFormData
+
+-- | Allows to specify an authentication scheme for requests done with 'doCallWithConfiguration'
+--
+-- This can be used to define custom schemes as well
+class SecurityScheme s where
+ authenticateRequest :: s -> HS.Request -> HS.Request
+
+-- | The default authentication scheme which does not add any authentication information
+data AnonymousSecurityScheme = AnonymousSecurityScheme
+
+-- | Instance for the anonymous scheme which does not alter the request in any way
+instance SecurityScheme AnonymousSecurityScheme where
+ authenticateRequest = const id
+
+-- | Run the 'MR.ReaderT' monad with a specified configuration
+--
+-- Note: This is just @'flip' 'MR.runReaderT'@.
+runWithConfiguration :: SecurityScheme s => Configuration s -> MR.ReaderT (Configuration s) m a -> m a
+runWithConfiguration = flip MR.runReaderT
+
+-- | This is the main functionality of this module
+--
+-- It makes a concrete Call to a Server without a body
+doCallWithConfiguration ::
+ (MonadHTTP m, SecurityScheme s) =>
+ -- | Configuration options like base URL and security scheme
+ Configuration s ->
+ -- | HTTP method (GET, POST, etc.)
+ Text ->
+ -- | Path to append to the base URL (path parameters should already be replaced)
+ Text ->
+ -- | Query parameters
+ [(Text, Maybe String)] ->
+ -- | The raw response from the server
+ m (Either HS.HttpException (HS.Response B8.ByteString))
+doCallWithConfiguration config method path queryParams =
+ httpBS $ createBaseRequest config method path queryParams
+
+-- | Same as 'doCallWithConfiguration' but run in a 'MR.ReaderT' environment which contains the configuration.
+-- This is useful if multiple calls have to be executed with the same configuration.
+doCallWithConfigurationM ::
+ (MonadHTTP m, SecurityScheme s) =>
+ Text ->
+ Text ->
+ [(Text, Maybe String)] ->
+ MR.ReaderT (Configuration s) m (Either HS.HttpException (HS.Response B8.ByteString))
+doCallWithConfigurationM method path queryParams = do
+ config <- MR.ask
+ MT.lift $ doCallWithConfiguration config method path queryParams
+
+-- | This is the main functionality of this module
+--
+-- It makes a concrete Call to a Server with a body
+doBodyCallWithConfiguration ::
+ (MonadHTTP m, SecurityScheme s, Aeson.ToJSON body) =>
+ -- | Configuration options like base URL and security scheme
+ Configuration s ->
+ -- | HTTP method (GET, POST, etc.)
+ Text ->
+ -- | Path to append to the base URL (path parameters should already be replaced)
+ Text ->
+ -- | Query parameters
+ [(Text, Maybe String)] ->
+ -- | Request body
+ body ->
+ -- | JSON or form data deepobjects
+ RequestBodyEncoding ->
+ -- | The raw response from the server
+ m (Either HS.HttpException (HS.Response B8.ByteString))
+doBodyCallWithConfiguration config method path queryParams body RequestBodyEncodingJSON =
+ httpBS $ HS.setRequestMethod (textToByte method) $ HS.setRequestBodyJSON body baseRequest
+ where
+ baseRequest = createBaseRequest config method path queryParams
+doBodyCallWithConfiguration config method path queryParams body RequestBodyEncodingFormData =
+ httpBS $ HS.setRequestMethod (textToByte method) $ HS.setRequestBodyURLEncoded byteStringData baseRequest
+ where
+ baseRequest = createBaseRequest config method path queryParams
+ byteStringData = createFormData body
+
+-- | Same as 'doBodyCallWithConfiguration' but run in a 'MR.ReaderT' environment which contains the configuration.
+-- This is useful if multiple calls have to be executed with the same configuration.
+doBodyCallWithConfigurationM ::
+ (MonadHTTP m, SecurityScheme s, Aeson.ToJSON body) =>
+ Text ->
+ Text ->
+ [(Text, Maybe String)] ->
+ body ->
+ RequestBodyEncoding ->
+ MR.ReaderT (Configuration s) m (Either HS.HttpException (HS.Response B8.ByteString))
+doBodyCallWithConfigurationM method path queryParams body encoding = do
+ config <- MR.ask
+ MT.lift $ doBodyCallWithConfiguration config method path queryParams body encoding
+
+-- | Creates a Base Request
+createBaseRequest ::
+ SecurityScheme s =>
+ -- | Common configuration Options
+ Configuration s ->
+ -- | HTTP Method (GET,POST,etc.)
+ Text ->
+ -- | The path for which the placeholders have already been replaced
+ Text ->
+ -- | Query Parameters
+ [(Text, Maybe String)] ->
+ -- | The Response from the server
+ HS.Request
+createBaseRequest config method path queryParams =
+ authenticateRequest (configSecurityScheme config)
+ $ HS.setRequestMethod (textToByte method)
+ $ HS.setRequestQueryString query
+ $ HS.setRequestPath
+ (B8.pack (T.unpack $ byteToText basePathModifier <> path))
+ baseRequest
+ where
+ baseRequest = parseURL $ configBaseURL config
+ basePath = HC.path baseRequest
+ basePathModifier =
+ if basePath == B8.pack "/" && T.isPrefixOf "/" path
+ then ""
+ else basePath
+ -- filters all maybe
+ query = [(textToByte a, Just $ B8.pack b) | (a, Just b) <- queryParams]
+
+-- | creates form data bytestring array
+createFormData :: (Aeson.ToJSON a) => a -> [(B8.ByteString, B8.ByteString)]
+createFormData body =
+ let formData = jsonToFormData $ Aeson.toJSON body
+ in fmap (BF.bimap textToByte textToByte) formData
+
+-- | Convert a 'B8.ByteString' to 'Text'
+byteToText :: B8.ByteString -> Text
+byteToText = T.pack . B8.unpack
+
+-- | Convert 'Text' a to 'B8.ByteString'
+textToByte :: Text -> B8.ByteString
+textToByte = B8.pack . T.unpack
+
+parseURL :: Text -> HS.Request
+parseURL url =
+ Maybe.fromMaybe HS.defaultRequest
+ $ HS.parseRequest
+ $ T.unpack url
+
+jsonToFormData :: Aeson.Value -> [(Text, Text)]
+jsonToFormData = jsonToFormDataPrefixed ""
+
+jsonToFormDataPrefixed :: Text -> Aeson.Value -> [(Text, Text)]
+jsonToFormDataPrefixed prefix (Aeson.Number a) = case Scientific.toBoundedInteger a :: Maybe Int of
+ Just myInt -> [(prefix, T.pack $ show myInt)]
+ Nothing -> [(prefix, T.pack $ show a)]
+jsonToFormDataPrefixed prefix (Aeson.Bool True) = [(prefix, T.pack "true")]
+jsonToFormDataPrefixed prefix (Aeson.Bool False) = [(prefix, T.pack "false")]
+jsonToFormDataPrefixed _ Aeson.Null = []
+jsonToFormDataPrefixed prefix (Aeson.String a) = [(prefix, a)]
+jsonToFormDataPrefixed "" (Aeson.Object object) =
+ HMap.toList object >>= uncurry jsonToFormDataPrefixed
+jsonToFormDataPrefixed prefix (Aeson.Object object) =
+ HMap.toList object >>= (\(x, y) -> jsonToFormDataPrefixed (prefix <> "[" <> x <> "]") y)
+jsonToFormDataPrefixed prefix (Aeson.Array vector) =
+ Vector.toList vector >>= jsonToFormDataPrefixed (prefix <> "[]")
+
+-- | This type class makes the code generation for URL parameters easier as it allows to stringify a value
+--
+-- The 'Show' class is not sufficient as strings should not be stringified with quotes.
+class Show a => StringifyModel a where
+ -- | Stringifies a showable value
+ --
+ -- >>> stringifyModel "Test"
+ -- "Test"
+ --
+ -- >>> stringifyModel 123
+ -- "123"
+ stringifyModel :: a -> String
+
+instance StringifyModel String where
+ -- stringifyModel :: String -> String
+ stringifyModel = id
+
+instance {-# OVERLAPS #-} Show a => StringifyModel a where
+ -- stringifyModel :: Show a => a -> String
+ stringifyModel = show
+
+-- | Wraps a 'B8.ByteString' to implement 'Aeson.ToJSON' and 'Aeson.FromJSON'
+newtype JsonByteString = JsonByteString B8.ByteString
+ deriving (Show, Eq, Ord)
+
+instance Aeson.ToJSON JsonByteString where
+ toJSON (JsonByteString s) = Aeson.toJSON $ B8.unpack s
+
+instance Aeson.FromJSON JsonByteString where
+ parseJSON (Aeson.String s) = pure $ JsonByteString $ textToByte s
+ parseJSON _ = fail "Value cannot be converted to a 'JsonByteString'"
+
+-- | Wraps a 'Time.ZonedTime' to implement 'Aeson.ToJSON' and 'Aeson.FromJSON'
+newtype JsonDateTime = JsonDateTime Time.ZonedTime
+ deriving (Show)
+
+instance Eq JsonDateTime where
+ (JsonDateTime d1) == (JsonDateTime d2) = Time.zonedTimeToUTC d1 == Time.zonedTimeToUTC d2
+
+instance Ord JsonDateTime where
+ (JsonDateTime d1) <= (JsonDateTime d2) = Time.zonedTimeToUTC d1 <= Time.zonedTimeToUTC d2
+
+instance Aeson.ToJSON JsonDateTime where
+ toJSON (JsonDateTime d) = Aeson.toJSON d
+
+instance Aeson.FromJSON JsonDateTime where
+ parseJSON o = JsonDateTime <$> Aeson.parseJSON o
diff --git a/src/StripeAPI/Configuration.hs b/src/StripeAPI/Configuration.hs
new file mode 100644
index 0000000..5525294
--- /dev/null
+++ b/src/StripeAPI/Configuration.hs
@@ -0,0 +1,14 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | Contains the default configuration
+module StripeAPI.Configuration where
+
+import qualified Data.Text
+import qualified StripeAPI.Common
+
+-- | The default url specified by the OpenAPI specification
+--
+-- @https://api.stripe.com/@
+defaultURL = Data.Text.pack "https://api.stripe.com/"
+-- | The default configuration containing the 'defaultURL' and no authorization
+defaultConfiguration = StripeAPI.Common.Configuration defaultURL StripeAPI.Common.AnonymousSecurityScheme \ No newline at end of file
diff --git a/src/StripeAPI/CyclicTypes.hs b/src/StripeAPI/CyclicTypes.hs
new file mode 100644
index 0000000..29a31ae
--- /dev/null
+++ b/src/StripeAPI/CyclicTypes.hs
@@ -0,0 +1,24881 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE DeriveGeneric #-}
+
+-- | Contains all types with cyclic dependencies (between each other or to itself)
+module StripeAPI.CyclicTypes where
+
+import qualified Prelude as GHC.Integer.Type
+import qualified Prelude as GHC.Maybe
+import qualified Data.Aeson
+import qualified Data.Aeson as Data.Aeson.Types
+import qualified Data.Aeson as Data.Aeson.Types.FromJSON
+import qualified Data.Aeson as Data.Aeson.Types.ToJSON
+import qualified Data.Aeson as Data.Aeson.Types.Internal
+import qualified Data.ByteString.Char8
+import qualified Data.ByteString.Char8 as Data.ByteString.Internal
+import qualified Data.Functor
+import qualified Data.Scientific
+import qualified Data.Text
+import qualified Data.Text.Internal
+import qualified Data.Time.Calendar as Data.Time.Calendar.Days
+import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
+import qualified GHC.Base
+import qualified GHC.Classes
+import qualified GHC.Generics
+import qualified GHC.Int
+import qualified GHC.Show
+import qualified GHC.Types
+import qualified StripeAPI.Common
+import StripeAPI.Types.AccountCapabilities
+import StripeAPI.Types.AccountDashboardSettings
+import StripeAPI.Types.AccountDeclineChargeOn
+import StripeAPI.Types.AccountLink
+import StripeAPI.Types.AccountPaymentsSettings
+import StripeAPI.Types.AccountRequirementsError
+import StripeAPI.Types.AccountTosAcceptance
+import StripeAPI.Types.Address
+import StripeAPI.Types.ApplePayDomain
+import StripeAPI.Types.Application
+import StripeAPI.Types.BalanceAmountBySourceType
+import StripeAPI.Types.BitcoinTransaction
+import StripeAPI.Types.CardMandatePaymentMethodDetails
+import StripeAPI.Types.ChargeFraudDetails
+import StripeAPI.Types.CheckoutSessionCustomDisplayItemDescription
+import StripeAPI.Types.CountrySpecVerificationFieldDetails
+import StripeAPI.Types.Coupon
+import StripeAPI.Types.DeletedAccount
+import StripeAPI.Types.DeletedAlipayAccount
+import StripeAPI.Types.DeletedApplePayDomain
+import StripeAPI.Types.DeletedBankAccount
+import StripeAPI.Types.DeletedBitcoinReceiver
+import StripeAPI.Types.DeletedCard
+import StripeAPI.Types.DeletedCoupon
+import StripeAPI.Types.DeletedCustomer
+import StripeAPI.Types.DeletedDiscount
+import StripeAPI.Types.DeletedInvoice
+import StripeAPI.Types.DeletedInvoiceitem
+import StripeAPI.Types.DeletedPerson
+import StripeAPI.Types.DeletedPlan
+import StripeAPI.Types.DeletedProduct
+import StripeAPI.Types.DeletedRadarValueList
+import StripeAPI.Types.DeletedRadarValueListItem
+import StripeAPI.Types.DeletedRecipient
+import StripeAPI.Types.DeletedSku
+import StripeAPI.Types.DeletedSubscriptionItem
+import StripeAPI.Types.DeletedTaxId
+import StripeAPI.Types.DeletedTerminalLocation
+import StripeAPI.Types.DeletedTerminalReader
+import StripeAPI.Types.DeletedWebhookEndpoint
+import StripeAPI.Types.DeliveryEstimate
+import StripeAPI.Types.DisputeEvidenceDetails
+import StripeAPI.Types.EphemeralKey
+import StripeAPI.Types.ExchangeRate
+import StripeAPI.Types.Fee
+import StripeAPI.Types.FinancialReportingFinanceReportRunRunParameters
+import StripeAPI.Types.Inventory
+import StripeAPI.Types.InvoiceItemThresholdReason
+import StripeAPI.Types.InvoiceLineItemPeriod
+import StripeAPI.Types.InvoiceSettingCustomField
+import StripeAPI.Types.InvoiceSettingSubscriptionScheduleSetting
+import StripeAPI.Types.InvoicesResourceInvoiceTaxId
+import StripeAPI.Types.InvoicesStatusTransitions
+import StripeAPI.Types.IssuingSettlement
+import StripeAPI.Types.IssuingVerification
+import StripeAPI.Types.IssuingAuthorizationMerchantData
+import StripeAPI.Types.IssuingAuthorizationVerificationData
+import StripeAPI.Types.IssuingAuthorizationViolatedAuthControl
+import StripeAPI.Types.IssuingCardPin
+import StripeAPI.Types.IssuingCardSpendingLimit
+import StripeAPI.Types.IssuingCardholderCompany
+import StripeAPI.Types.IssuingCardholderIndividualDob
+import StripeAPI.Types.IssuingCardholderRequirements
+import StripeAPI.Types.IssuingCardholderSpendingLimit
+import StripeAPI.Types.LegalEntityDob
+import StripeAPI.Types.LegalEntityJapanAddress
+import StripeAPI.Types.LightAccountLogout
+import StripeAPI.Types.LoginLink
+import StripeAPI.Types.MandateMultiUse
+import StripeAPI.Types.MandateSepaDebit
+import StripeAPI.Types.MandateSingleUse
+import StripeAPI.Types.NotificationEventData
+import StripeAPI.Types.NotificationEventRequest
+import StripeAPI.Types.OfflineAcceptance
+import StripeAPI.Types.OnlineAcceptance
+import StripeAPI.Types.PackageDimensions
+import StripeAPI.Types.PaymentIntentNextActionRedirectToUrl
+import StripeAPI.Types.PaymentMethodCardChecks
+import StripeAPI.Types.PaymentMethodCardPresent
+import StripeAPI.Types.PaymentMethodCardWalletAmexExpressCheckout
+import StripeAPI.Types.PaymentMethodCardWalletApplePay
+import StripeAPI.Types.PaymentMethodCardWalletGooglePay
+import StripeAPI.Types.PaymentMethodCardWalletSamsungPay
+import StripeAPI.Types.PaymentMethodDetailsAchCreditTransfer
+import StripeAPI.Types.PaymentMethodDetailsAchDebit
+import StripeAPI.Types.PaymentMethodDetailsAlipay
+import StripeAPI.Types.PaymentMethodDetailsBancontact
+import StripeAPI.Types.PaymentMethodDetailsCardChecks
+import StripeAPI.Types.PaymentMethodDetailsCardInstallmentsPlan
+import StripeAPI.Types.PaymentMethodDetailsCardPresentReceipt
+import StripeAPI.Types.PaymentMethodDetailsCardWalletAmexExpressCheckout
+import StripeAPI.Types.PaymentMethodDetailsCardWalletApplePay
+import StripeAPI.Types.PaymentMethodDetailsCardWalletGooglePay
+import StripeAPI.Types.PaymentMethodDetailsCardWalletSamsungPay
+import StripeAPI.Types.PaymentMethodDetailsEps
+import StripeAPI.Types.PaymentMethodDetailsFpx
+import StripeAPI.Types.PaymentMethodDetailsGiropay
+import StripeAPI.Types.PaymentMethodDetailsIdeal
+import StripeAPI.Types.PaymentMethodDetailsKlarna
+import StripeAPI.Types.PaymentMethodDetailsMultibanco
+import StripeAPI.Types.PaymentMethodDetailsP24
+import StripeAPI.Types.PaymentMethodDetailsSepaDebit
+import StripeAPI.Types.PaymentMethodDetailsSofort
+import StripeAPI.Types.PaymentMethodDetailsStripeAccount
+import StripeAPI.Types.PaymentMethodDetailsWechat
+import StripeAPI.Types.PaymentMethodFpx
+import StripeAPI.Types.PaymentMethodIdeal
+import StripeAPI.Types.PaymentMethodSepaDebit
+import StripeAPI.Types.Period
+import StripeAPI.Types.PersonRelationship
+import StripeAPI.Types.PlanTier
+import StripeAPI.Types.PlatformTaxFee
+import StripeAPI.Types.RadarValueListItem
+import StripeAPI.Types.RadarReviewResourceLocation
+import StripeAPI.Types.RadarReviewResourceSession
+import StripeAPI.Types.ReportingReportType
+import StripeAPI.Types.ReserveTransaction
+import StripeAPI.Types.Rule
+import StripeAPI.Types.SetupIntentNextActionRedirectToUrl
+import StripeAPI.Types.SetupIntentPaymentMethodOptionsCard
+import StripeAPI.Types.SigmaScheduledQueryRunError
+import StripeAPI.Types.SourceCodeVerificationFlow
+import StripeAPI.Types.SourceMandateNotificationBacsDebitData
+import StripeAPI.Types.SourceMandateNotificationSepaDebitData
+import StripeAPI.Types.SourceOrderItem
+import StripeAPI.Types.SourceReceiverFlow
+import StripeAPI.Types.SourceRedirectFlow
+import StripeAPI.Types.SourceTransactionAchCreditTransferData
+import StripeAPI.Types.SourceTransactionChfCreditTransferData
+import StripeAPI.Types.SourceTransactionGbpCreditTransferData
+import StripeAPI.Types.SourceTransactionPaperCheckData
+import StripeAPI.Types.SourceTransactionSepaCreditTransferData
+import StripeAPI.Types.SourceTypeAchCreditTransfer
+import StripeAPI.Types.SourceTypeAchDebit
+import StripeAPI.Types.SourceTypeAlipay
+import StripeAPI.Types.SourceTypeBancontact
+import StripeAPI.Types.SourceTypeCard
+import StripeAPI.Types.SourceTypeCardPresent
+import StripeAPI.Types.SourceTypeEps
+import StripeAPI.Types.SourceTypeGiropay
+import StripeAPI.Types.SourceTypeIdeal
+import StripeAPI.Types.SourceTypeKlarna
+import StripeAPI.Types.SourceTypeMultibanco
+import StripeAPI.Types.SourceTypeP24
+import StripeAPI.Types.SourceTypeSepaDebit
+import StripeAPI.Types.SourceTypeSofort
+import StripeAPI.Types.SourceTypeThreeDSecure
+import StripeAPI.Types.SourceTypeWechat
+import StripeAPI.Types.StatusTransitions
+import StripeAPI.Types.SubscriptionBillingThresholds
+import StripeAPI.Types.SubscriptionItemBillingThresholds
+import StripeAPI.Types.SubscriptionPendingInvoiceItemInterval
+import StripeAPI.Types.SubscriptionScheduleCurrentPhase
+import StripeAPI.Types.TaxDeductedAtSource
+import StripeAPI.Types.TaxIdVerification
+import StripeAPI.Types.TaxRate
+import StripeAPI.Types.TerminalConnectionToken
+import StripeAPI.Types.TerminalReader
+import StripeAPI.Types.ThreeDSecureDetails
+import StripeAPI.Types.ThreeDSecureUsage
+import StripeAPI.Types.TransferSchedule
+import StripeAPI.Types.TransformUsage
+import StripeAPI.Types.UsageRecord
+import StripeAPI.Types.WebhookEndpoint
+import StripeAPI.Types.AccountCapabilityRequirements
+import StripeAPI.Types.AccountCardPaymentsSettings
+import StripeAPI.Types.AccountPayoutSettings
+import StripeAPI.Types.AccountRequirements
+import StripeAPI.Types.BalanceAmount
+import StripeAPI.Types.BitcoinReceiver
+import StripeAPI.Types.ChargeOutcome
+import StripeAPI.Types.CountrySpecVerificationFields
+import StripeAPI.Types.CreditNoteTaxAmount
+import StripeAPI.Types.CustomerAcceptance
+import StripeAPI.Types.InvoiceTaxAmount
+import StripeAPI.Types.InvoiceThresholdReason
+import StripeAPI.Types.IssuingAuthorizationRequest
+import StripeAPI.Types.IssuingCardAuthorizationControls
+import StripeAPI.Types.IssuingCardShipping
+import StripeAPI.Types.IssuingCardholderAddress
+import StripeAPI.Types.IssuingCardholderAuthorizationControls
+import StripeAPI.Types.MandatePaymentMethodDetails
+import StripeAPI.Types.PaymentIntentNextAction
+import StripeAPI.Types.PersonRequirements
+import StripeAPI.Types.RadarValueList
+import StripeAPI.Types.SetupIntentNextAction
+import StripeAPI.Types.SetupIntentPaymentMethodOptions
+import StripeAPI.Types.Shipping
+import StripeAPI.Types.SourceTransaction
+import StripeAPI.Types.TerminalLocation
+import StripeAPI.Types.UsageRecordSummary
+import StripeAPI.Types.Balance
+import StripeAPI.Types.CountrySpec
+import StripeAPI.Types.CreditNoteLineItem
+import StripeAPI.Types.SourceOrder
+
+-- | Defines the data type for the schema account
+--
+-- This is an object representing a Stripe account. You can retrieve it to see
+-- properties on the account like its current e-mail address or if the account is
+-- enabled yet to make live charges.
+--
+-- Some properties, marked below, are available only to platforms that want to
+-- [create and manage Express or Custom accounts](https:\/\/stripe.com\/docs\/connect\/accounts).
+data Account = Account {
+ -- | business_profile: Business information about the account.
+ accountBusinessProfile :: (GHC.Maybe.Maybe AccountBusinessProfile')
+ -- | business_type: The business type.
+ , accountBusinessType :: (GHC.Maybe.Maybe AccountBusinessType')
+ -- | capabilities:
+ , accountCapabilities :: (GHC.Maybe.Maybe AccountCapabilities)
+ -- | charges_enabled: Whether the account can create live charges.
+ , accountChargesEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | company:
+ , accountCompany :: (GHC.Maybe.Maybe LegalEntityCompany)
+ -- | country: The account\'s country.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , accountCreated :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | default_currency: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account\'s country](https:\/\/stripe.com\/docs\/payouts).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountDefaultCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | details_submitted: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
+ , accountDetailsSubmitted :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | email: The primary user\'s email address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | external_accounts: External accounts (bank accounts and debit cards) currently attached to this account
+ , accountExternalAccounts :: (GHC.Maybe.Maybe AccountExternalAccounts')
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountId :: GHC.Base.String
+ -- | individual: This is an object representing a person associated with a Stripe account.
+ --
+ -- Related guide: [Handling Identity Verification with the API](https:\/\/stripe.com\/docs\/connect\/identity-verification-api\#person-information).
+ , accountIndividual :: (GHC.Maybe.Maybe Person)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , accountMetadata :: (GHC.Maybe.Maybe AccountMetadata')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , accountObject :: AccountObject'
+ -- | payouts_enabled: Whether Stripe can send payouts to this account.
+ , accountPayoutsEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | requirements:
+ , accountRequirements :: (GHC.Maybe.Maybe AccountRequirements)
+ -- | settings: Options for customizing how the account functions within Stripe.
+ , accountSettings :: (GHC.Maybe.Maybe AccountSettings')
+ -- | tos_acceptance:
+ , accountTosAcceptance :: (GHC.Maybe.Maybe AccountTosAcceptance)
+ -- | type: The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`.
+ , accountType :: (GHC.Maybe.Maybe AccountType')
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Account
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "business_profile" (accountBusinessProfile obj) : (Data.Aeson..=) "business_type" (accountBusinessType obj) : (Data.Aeson..=) "capabilities" (accountCapabilities obj) : (Data.Aeson..=) "charges_enabled" (accountChargesEnabled obj) : (Data.Aeson..=) "company" (accountCompany obj) : (Data.Aeson..=) "country" (accountCountry obj) : (Data.Aeson..=) "created" (accountCreated obj) : (Data.Aeson..=) "default_currency" (accountDefaultCurrency obj) : (Data.Aeson..=) "details_submitted" (accountDetailsSubmitted obj) : (Data.Aeson..=) "email" (accountEmail obj) : (Data.Aeson..=) "external_accounts" (accountExternalAccounts obj) : (Data.Aeson..=) "id" (accountId obj) : (Data.Aeson..=) "individual" (accountIndividual obj) : (Data.Aeson..=) "metadata" (accountMetadata obj) : (Data.Aeson..=) "object" (accountObject obj) : (Data.Aeson..=) "payouts_enabled" (accountPayoutsEnabled obj) : (Data.Aeson..=) "requirements" (accountRequirements obj) : (Data.Aeson..=) "settings" (accountSettings obj) : (Data.Aeson..=) "tos_acceptance" (accountTosAcceptance obj) : (Data.Aeson..=) "type" (accountType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "business_profile" (accountBusinessProfile obj) GHC.Base.<> ((Data.Aeson..=) "business_type" (accountBusinessType obj) GHC.Base.<> ((Data.Aeson..=) "capabilities" (accountCapabilities obj) GHC.Base.<> ((Data.Aeson..=) "charges_enabled" (accountChargesEnabled obj) GHC.Base.<> ((Data.Aeson..=) "company" (accountCompany obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountCountry obj) GHC.Base.<> ((Data.Aeson..=) "created" (accountCreated obj) GHC.Base.<> ((Data.Aeson..=) "default_currency" (accountDefaultCurrency obj) GHC.Base.<> ((Data.Aeson..=) "details_submitted" (accountDetailsSubmitted obj) GHC.Base.<> ((Data.Aeson..=) "email" (accountEmail obj) GHC.Base.<> ((Data.Aeson..=) "external_accounts" (accountExternalAccounts obj) GHC.Base.<> ((Data.Aeson..=) "id" (accountId obj) GHC.Base.<> ((Data.Aeson..=) "individual" (accountIndividual obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (accountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountObject obj) GHC.Base.<> ((Data.Aeson..=) "payouts_enabled" (accountPayoutsEnabled obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (accountRequirements obj) GHC.Base.<> ((Data.Aeson..=) "settings" (accountSettings obj) GHC.Base.<> ((Data.Aeson..=) "tos_acceptance" (accountTosAcceptance obj) GHC.Base.<> (Data.Aeson..=) "type" (accountType obj))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Account
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Account" (\obj -> (((((((((((((((((((GHC.Base.pure Account GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_profile")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "capabilities")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charges_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_submitted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "external_accounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "individual")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tos_acceptance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type"))
+-- | Defines the data type for the schema accountBusiness_profile\'
+--
+-- Business information about the account.
+data AccountBusinessProfile' = AccountBusinessProfile' {
+ -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ accountBusinessProfile'Mcc :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: The customer-facing business name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 40000
+ , accountBusinessProfile'ProductDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_address: A publicly available mailing address for sending support issues to.
+ , accountBusinessProfile'SupportAddress :: (GHC.Maybe.Maybe AccountBusinessProfile'SupportAddress')
+ -- | support_email: A publicly available email address for sending support issues to.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_phone: A publicly available phone number to call with support issues.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_url: A publicly available website for handling support issues.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportUrl :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | url: The business\'s publicly available website.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'Url :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBusinessProfile'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "mcc" (accountBusinessProfile'Mcc obj) : (Data.Aeson..=) "name" (accountBusinessProfile'Name obj) : (Data.Aeson..=) "product_description" (accountBusinessProfile'ProductDescription obj) : (Data.Aeson..=) "support_address" (accountBusinessProfile'SupportAddress obj) : (Data.Aeson..=) "support_email" (accountBusinessProfile'SupportEmail obj) : (Data.Aeson..=) "support_phone" (accountBusinessProfile'SupportPhone obj) : (Data.Aeson..=) "support_url" (accountBusinessProfile'SupportUrl obj) : (Data.Aeson..=) "url" (accountBusinessProfile'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "mcc" (accountBusinessProfile'Mcc obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountBusinessProfile'Name obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (accountBusinessProfile'ProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "support_address" (accountBusinessProfile'SupportAddress obj) GHC.Base.<> ((Data.Aeson..=) "support_email" (accountBusinessProfile'SupportEmail obj) GHC.Base.<> ((Data.Aeson..=) "support_phone" (accountBusinessProfile'SupportPhone obj) GHC.Base.<> ((Data.Aeson..=) "support_url" (accountBusinessProfile'SupportUrl obj) GHC.Base.<> (Data.Aeson..=) "url" (accountBusinessProfile'Url obj))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile'" (\obj -> (((((((GHC.Base.pure AccountBusinessProfile' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mcc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url"))
+-- | Defines the data type for the schema accountBusiness_profile\'Support_address\'
+--
+-- A publicly available mailing address for sending support issues to.
+data AccountBusinessProfile'SupportAddress' = AccountBusinessProfile'SupportAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ accountBusinessProfile'SupportAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfile'SupportAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBusinessProfile'SupportAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (accountBusinessProfile'SupportAddress'City obj) : (Data.Aeson..=) "country" (accountBusinessProfile'SupportAddress'Country obj) : (Data.Aeson..=) "line1" (accountBusinessProfile'SupportAddress'Line1 obj) : (Data.Aeson..=) "line2" (accountBusinessProfile'SupportAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (accountBusinessProfile'SupportAddress'PostalCode obj) : (Data.Aeson..=) "state" (accountBusinessProfile'SupportAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (accountBusinessProfile'SupportAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountBusinessProfile'SupportAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (accountBusinessProfile'SupportAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (accountBusinessProfile'SupportAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (accountBusinessProfile'SupportAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (accountBusinessProfile'SupportAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile'SupportAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile'SupportAddress'" (\obj -> (((((GHC.Base.pure AccountBusinessProfile'SupportAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Defines the enum schema accountBusiness_type\'
+--
+-- The business type.
+data AccountBusinessType'
+ = AccountBusinessType'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountBusinessType'EnumTyped GHC.Base.String
+ | AccountBusinessType'EnumStringCompany
+ | AccountBusinessType'EnumStringGovernmentEntity
+ | AccountBusinessType'EnumStringIndividual
+ | AccountBusinessType'EnumStringNonProfit
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBusinessType'
+ where toJSON (AccountBusinessType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountBusinessType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountBusinessType'EnumStringCompany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company"
+ toJSON (AccountBusinessType'EnumStringGovernmentEntity) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity"
+ toJSON (AccountBusinessType'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual"
+ toJSON (AccountBusinessType'EnumStringNonProfit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit"
+instance Data.Aeson.FromJSON AccountBusinessType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company")
+ then AccountBusinessType'EnumStringCompany
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity")
+ then AccountBusinessType'EnumStringGovernmentEntity
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual")
+ then AccountBusinessType'EnumStringIndividual
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit")
+ then AccountBusinessType'EnumStringNonProfit
+ else AccountBusinessType'EnumOther val)
+-- | Defines the data type for the schema accountExternal_accounts\'
+--
+-- External accounts (bank accounts and debit cards) currently attached to this account
+data AccountExternalAccounts' = AccountExternalAccounts' {
+ -- | data: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
+ accountExternalAccounts'Data :: ([] AccountExternalAccounts'Data')
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , accountExternalAccounts'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , accountExternalAccounts'Object :: AccountExternalAccounts'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (accountExternalAccounts'Data obj) : (Data.Aeson..=) "has_more" (accountExternalAccounts'HasMore obj) : (Data.Aeson..=) "object" (accountExternalAccounts'Object obj) : (Data.Aeson..=) "url" (accountExternalAccounts'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (accountExternalAccounts'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (accountExternalAccounts'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountExternalAccounts'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (accountExternalAccounts'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'" (\obj -> (((GHC.Base.pure AccountExternalAccounts' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the data type for the schema accountExternal_accounts\'Data\'
+--
+--
+data AccountExternalAccounts'Data' = AccountExternalAccounts'Data' {
+ -- | account: The ID of the account that the bank account is associated with.
+ accountExternalAccounts'Data'Account :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Account'Variants)
+ -- | account_holder_name: The name of the person or business that owns the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_city: City\/District\/Suburb\/Town\/Village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_country: Billing address country, if provided when creating card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_state: State\/County\/Province\/Region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressState :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer.
+ , accountExternalAccounts'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] AccountExternalAccounts'Data'AvailablePayoutMethods'))
+ -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'BankName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Brand :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter ISO code representing the country the bank account is located in.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ , accountExternalAccounts'Data'Currency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The ID of the customer that the bank account is associated with.
+ , accountExternalAccounts'Data'Customer :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Customer'Variants)
+ -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_for_currency: Whether this bank account is the default external account for its currency.
+ , accountExternalAccounts'Data'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | exp_month: Two-digit number representing the card\'s expiration month.
+ , accountExternalAccounts'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | exp_year: Four-digit number representing the card\'s expiration year.
+ , accountExternalAccounts'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Funding :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Id :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | last4: The last four digits of the bank account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Last4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , accountExternalAccounts'Data'Metadata :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Metadata')
+ -- | name: Cardholder name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , accountExternalAccounts'Data'Object :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Object')
+ -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+ , accountExternalAccounts'Data'Recipient :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Recipient'Variants)
+ -- | routing_number: The routing transit number for the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
+ --
+ -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'Status :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountExternalAccounts'Data'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (accountExternalAccounts'Data'Account obj) : (Data.Aeson..=) "account_holder_name" (accountExternalAccounts'Data'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (accountExternalAccounts'Data'AccountHolderType obj) : (Data.Aeson..=) "address_city" (accountExternalAccounts'Data'AddressCity obj) : (Data.Aeson..=) "address_country" (accountExternalAccounts'Data'AddressCountry obj) : (Data.Aeson..=) "address_line1" (accountExternalAccounts'Data'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (accountExternalAccounts'Data'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (accountExternalAccounts'Data'AddressLine2 obj) : (Data.Aeson..=) "address_state" (accountExternalAccounts'Data'AddressState obj) : (Data.Aeson..=) "address_zip" (accountExternalAccounts'Data'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (accountExternalAccounts'Data'AddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (accountExternalAccounts'Data'AvailablePayoutMethods obj) : (Data.Aeson..=) "bank_name" (accountExternalAccounts'Data'BankName obj) : (Data.Aeson..=) "brand" (accountExternalAccounts'Data'Brand obj) : (Data.Aeson..=) "country" (accountExternalAccounts'Data'Country obj) : (Data.Aeson..=) "currency" (accountExternalAccounts'Data'Currency obj) : (Data.Aeson..=) "customer" (accountExternalAccounts'Data'Customer obj) : (Data.Aeson..=) "cvc_check" (accountExternalAccounts'Data'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (accountExternalAccounts'Data'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (accountExternalAccounts'Data'DynamicLast4 obj) : (Data.Aeson..=) "exp_month" (accountExternalAccounts'Data'ExpMonth obj) : (Data.Aeson..=) "exp_year" (accountExternalAccounts'Data'ExpYear obj) : (Data.Aeson..=) "fingerprint" (accountExternalAccounts'Data'Fingerprint obj) : (Data.Aeson..=) "funding" (accountExternalAccounts'Data'Funding obj) : (Data.Aeson..=) "id" (accountExternalAccounts'Data'Id obj) : (Data.Aeson..=) "last4" (accountExternalAccounts'Data'Last4 obj) : (Data.Aeson..=) "metadata" (accountExternalAccounts'Data'Metadata obj) : (Data.Aeson..=) "name" (accountExternalAccounts'Data'Name obj) : (Data.Aeson..=) "object" (accountExternalAccounts'Data'Object obj) : (Data.Aeson..=) "recipient" (accountExternalAccounts'Data'Recipient obj) : (Data.Aeson..=) "routing_number" (accountExternalAccounts'Data'RoutingNumber obj) : (Data.Aeson..=) "status" (accountExternalAccounts'Data'Status obj) : (Data.Aeson..=) "tokenization_method" (accountExternalAccounts'Data'TokenizationMethod obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (accountExternalAccounts'Data'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (accountExternalAccounts'Data'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (accountExternalAccounts'Data'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (accountExternalAccounts'Data'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (accountExternalAccounts'Data'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (accountExternalAccounts'Data'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (accountExternalAccounts'Data'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (accountExternalAccounts'Data'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (accountExternalAccounts'Data'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (accountExternalAccounts'Data'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (accountExternalAccounts'Data'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (accountExternalAccounts'Data'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (accountExternalAccounts'Data'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (accountExternalAccounts'Data'Brand obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountExternalAccounts'Data'Country obj) GHC.Base.<> ((Data.Aeson..=) "currency" (accountExternalAccounts'Data'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (accountExternalAccounts'Data'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (accountExternalAccounts'Data'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (accountExternalAccounts'Data'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (accountExternalAccounts'Data'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (accountExternalAccounts'Data'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (accountExternalAccounts'Data'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (accountExternalAccounts'Data'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (accountExternalAccounts'Data'Funding obj) GHC.Base.<> ((Data.Aeson..=) "id" (accountExternalAccounts'Data'Id obj) GHC.Base.<> ((Data.Aeson..=) "last4" (accountExternalAccounts'Data'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (accountExternalAccounts'Data'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountExternalAccounts'Data'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountExternalAccounts'Data'Object obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (accountExternalAccounts'Data'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (accountExternalAccounts'Data'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "status" (accountExternalAccounts'Data'Status obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (accountExternalAccounts'Data'TokenizationMethod obj)))))))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts'Data'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'Data'" (\obj -> ((((((((((((((((((((((((((((((((GHC.Base.pure AccountExternalAccounts'Data' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method"))
+-- | Define the one-of schema accountExternal_accounts\'Data\'Account\'
+--
+-- The ID of the account that the bank account is associated with.
+data AccountExternalAccounts'Data'Account'Variants
+ = AccountExternalAccounts'Data'Account'Account Account
+ | AccountExternalAccounts'Data'Account'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Account'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Account'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema accountExternal_accounts\'Data\'Available_payout_methods\'
+--
+--
+data AccountExternalAccounts'Data'AvailablePayoutMethods'
+ = AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumTyped GHC.Base.String
+ | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant
+ | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'AvailablePayoutMethods'
+ where toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant"
+ toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON AccountExternalAccounts'Data'AvailablePayoutMethods'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant")
+ then AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard
+ else AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther val)
+-- | Define the one-of schema accountExternal_accounts\'Data\'Customer\'
+--
+-- The ID of the customer that the bank account is associated with.
+data AccountExternalAccounts'Data'Customer'Variants
+ = AccountExternalAccounts'Data'Customer'Customer Customer
+ | AccountExternalAccounts'Data'Customer'DeletedCustomer DeletedCustomer
+ | AccountExternalAccounts'Data'Customer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Customer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Customer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema accountExternal_accounts\'Data\'Metadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data AccountExternalAccounts'Data'Metadata' = AccountExternalAccounts'Data'Metadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Metadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts'Data'Metadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'Data'Metadata'" (\obj -> GHC.Base.pure AccountExternalAccounts'Data'Metadata')
+-- | Defines the enum schema accountExternal_accounts\'Data\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data AccountExternalAccounts'Data'Object'
+ = AccountExternalAccounts'Data'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountExternalAccounts'Data'Object'EnumTyped GHC.Base.String
+ | AccountExternalAccounts'Data'Object'EnumStringBankAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Object'
+ where toJSON (AccountExternalAccounts'Data'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Data'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Data'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account"
+instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account")
+ then AccountExternalAccounts'Data'Object'EnumStringBankAccount
+ else AccountExternalAccounts'Data'Object'EnumOther val)
+-- | Define the one-of schema accountExternal_accounts\'Data\'Recipient\'
+--
+-- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+data AccountExternalAccounts'Data'Recipient'Variants
+ = AccountExternalAccounts'Data'Recipient'Recipient Recipient
+ | AccountExternalAccounts'Data'Recipient'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Recipient'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Recipient'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema accountExternal_accounts\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data AccountExternalAccounts'Object'
+ = AccountExternalAccounts'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountExternalAccounts'Object'EnumTyped GHC.Base.String
+ | AccountExternalAccounts'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountExternalAccounts'Object'
+ where toJSON (AccountExternalAccounts'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountExternalAccounts'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON AccountExternalAccounts'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then AccountExternalAccounts'Object'EnumStringList
+ else AccountExternalAccounts'Object'EnumOther val)
+-- | Defines the data type for the schema accountMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data AccountMetadata' = AccountMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountMetadata'" (\obj -> GHC.Base.pure AccountMetadata')
+-- | Defines the enum schema accountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data AccountObject'
+ = AccountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountObject'EnumTyped GHC.Base.String
+ | AccountObject'EnumStringAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountObject'
+ where toJSON (AccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountObject'EnumStringAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account"
+instance Data.Aeson.FromJSON AccountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account")
+ then AccountObject'EnumStringAccount
+ else AccountObject'EnumOther val)
+-- | Defines the data type for the schema accountSettings\'
+--
+-- Options for customizing how the account functions within Stripe.
+data AccountSettings' = AccountSettings' {
+ -- | branding:
+ accountSettings'Branding :: (GHC.Maybe.Maybe AccountBrandingSettings)
+ -- | card_payments:
+ , accountSettings'CardPayments :: (GHC.Maybe.Maybe AccountCardPaymentsSettings)
+ -- | dashboard:
+ , accountSettings'Dashboard :: (GHC.Maybe.Maybe AccountDashboardSettings)
+ -- | payments:
+ , accountSettings'Payments :: (GHC.Maybe.Maybe AccountPaymentsSettings)
+ -- | payouts:
+ , accountSettings'Payouts :: (GHC.Maybe.Maybe AccountPayoutSettings)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountSettings'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "branding" (accountSettings'Branding obj) : (Data.Aeson..=) "card_payments" (accountSettings'CardPayments obj) : (Data.Aeson..=) "dashboard" (accountSettings'Dashboard obj) : (Data.Aeson..=) "payments" (accountSettings'Payments obj) : (Data.Aeson..=) "payouts" (accountSettings'Payouts obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "branding" (accountSettings'Branding obj) GHC.Base.<> ((Data.Aeson..=) "card_payments" (accountSettings'CardPayments obj) GHC.Base.<> ((Data.Aeson..=) "dashboard" (accountSettings'Dashboard obj) GHC.Base.<> ((Data.Aeson..=) "payments" (accountSettings'Payments obj) GHC.Base.<> (Data.Aeson..=) "payouts" (accountSettings'Payouts obj)))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountSettings'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountSettings'" (\obj -> ((((GHC.Base.pure AccountSettings' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "branding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dashboard")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts"))
+-- | Defines the enum schema accountType\'
+--
+-- The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`.
+data AccountType'
+ = AccountType'EnumOther Data.Aeson.Types.Internal.Value
+ | AccountType'EnumTyped GHC.Base.String
+ | AccountType'EnumStringCustom
+ | AccountType'EnumStringExpress
+ | AccountType'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountType'
+ where toJSON (AccountType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AccountType'EnumStringCustom) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom"
+ toJSON (AccountType'EnumStringExpress) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express"
+ toJSON (AccountType'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON AccountType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom")
+ then AccountType'EnumStringCustom
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express")
+ then AccountType'EnumStringExpress
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then AccountType'EnumStringStandard
+ else AccountType'EnumOther val)
+-- | Defines the data type for the schema account_branding_settings
+--
+--
+data AccountBrandingSettings = AccountBrandingSettings {
+ -- | icon: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) An icon for the account. Must be square and at least 128px x 128px.
+ accountBrandingSettingsIcon :: (GHC.Maybe.Maybe AccountBrandingSettingsIcon'Variants)
+ -- | logo: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account\'s name next to it if provided. Must be at least 128px x 128px.
+ , accountBrandingSettingsLogo :: (GHC.Maybe.Maybe AccountBrandingSettingsLogo'Variants)
+ -- | primary_color: A CSS hex color value representing the primary branding color for this account
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBrandingSettingsPrimaryColor :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBrandingSettings
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "icon" (accountBrandingSettingsIcon obj) : (Data.Aeson..=) "logo" (accountBrandingSettingsLogo obj) : (Data.Aeson..=) "primary_color" (accountBrandingSettingsPrimaryColor obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "icon" (accountBrandingSettingsIcon obj) GHC.Base.<> ((Data.Aeson..=) "logo" (accountBrandingSettingsLogo obj) GHC.Base.<> (Data.Aeson..=) "primary_color" (accountBrandingSettingsPrimaryColor obj)))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountBrandingSettings
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBrandingSettings" (\obj -> ((GHC.Base.pure AccountBrandingSettings GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "icon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "logo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "primary_color"))
+-- | Define the one-of schema account_branding_settingsIcon\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) An icon for the account. Must be square and at least 128px x 128px.
+data AccountBrandingSettingsIcon'Variants
+ = AccountBrandingSettingsIcon'File File
+ | AccountBrandingSettingsIcon'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AccountBrandingSettingsIcon'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AccountBrandingSettingsIcon'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema account_branding_settingsLogo\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account\'s name next to it if provided. Must be at least 128px x 128px.
+data AccountBrandingSettingsLogo'Variants
+ = AccountBrandingSettingsLogo'File File
+ | AccountBrandingSettingsLogo'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AccountBrandingSettingsLogo'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AccountBrandingSettingsLogo'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema account_business_profile
+--
+--
+data AccountBusinessProfile = AccountBusinessProfile {
+ -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ accountBusinessProfileMcc :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: The customer-facing business name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 40000
+ , accountBusinessProfileProductDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_address: A publicly available mailing address for sending support issues to.
+ , accountBusinessProfileSupportAddress :: (GHC.Maybe.Maybe AccountBusinessProfileSupportAddress')
+ -- | support_email: A publicly available email address for sending support issues to.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_phone: A publicly available phone number to call with support issues.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | support_url: A publicly available website for handling support issues.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportUrl :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | url: The business\'s publicly available website.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileUrl :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBusinessProfile
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "mcc" (accountBusinessProfileMcc obj) : (Data.Aeson..=) "name" (accountBusinessProfileName obj) : (Data.Aeson..=) "product_description" (accountBusinessProfileProductDescription obj) : (Data.Aeson..=) "support_address" (accountBusinessProfileSupportAddress obj) : (Data.Aeson..=) "support_email" (accountBusinessProfileSupportEmail obj) : (Data.Aeson..=) "support_phone" (accountBusinessProfileSupportPhone obj) : (Data.Aeson..=) "support_url" (accountBusinessProfileSupportUrl obj) : (Data.Aeson..=) "url" (accountBusinessProfileUrl obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "mcc" (accountBusinessProfileMcc obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountBusinessProfileName obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (accountBusinessProfileProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "support_address" (accountBusinessProfileSupportAddress obj) GHC.Base.<> ((Data.Aeson..=) "support_email" (accountBusinessProfileSupportEmail obj) GHC.Base.<> ((Data.Aeson..=) "support_phone" (accountBusinessProfileSupportPhone obj) GHC.Base.<> ((Data.Aeson..=) "support_url" (accountBusinessProfileSupportUrl obj) GHC.Base.<> (Data.Aeson..=) "url" (accountBusinessProfileUrl obj))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile" (\obj -> (((((((GHC.Base.pure AccountBusinessProfile GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mcc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url"))
+-- | Defines the data type for the schema account_business_profileSupport_address\'
+--
+-- A publicly available mailing address for sending support issues to.
+data AccountBusinessProfileSupportAddress' = AccountBusinessProfileSupportAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ accountBusinessProfileSupportAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , accountBusinessProfileSupportAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountBusinessProfileSupportAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (accountBusinessProfileSupportAddress'City obj) : (Data.Aeson..=) "country" (accountBusinessProfileSupportAddress'Country obj) : (Data.Aeson..=) "line1" (accountBusinessProfileSupportAddress'Line1 obj) : (Data.Aeson..=) "line2" (accountBusinessProfileSupportAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (accountBusinessProfileSupportAddress'PostalCode obj) : (Data.Aeson..=) "state" (accountBusinessProfileSupportAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (accountBusinessProfileSupportAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountBusinessProfileSupportAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (accountBusinessProfileSupportAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (accountBusinessProfileSupportAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (accountBusinessProfileSupportAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (accountBusinessProfileSupportAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfileSupportAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfileSupportAddress'" (\obj -> (((((GHC.Base.pure AccountBusinessProfileSupportAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Defines the data type for the schema account_settings
+--
+--
+data AccountSettings = AccountSettings {
+ -- | branding:
+ accountSettingsBranding :: AccountBrandingSettings
+ -- | card_payments:
+ , accountSettingsCardPayments :: AccountCardPaymentsSettings
+ -- | dashboard:
+ , accountSettingsDashboard :: AccountDashboardSettings
+ -- | payments:
+ , accountSettingsPayments :: AccountPaymentsSettings
+ -- | payouts:
+ , accountSettingsPayouts :: (GHC.Maybe.Maybe AccountPayoutSettings)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AccountSettings
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "branding" (accountSettingsBranding obj) : (Data.Aeson..=) "card_payments" (accountSettingsCardPayments obj) : (Data.Aeson..=) "dashboard" (accountSettingsDashboard obj) : (Data.Aeson..=) "payments" (accountSettingsPayments obj) : (Data.Aeson..=) "payouts" (accountSettingsPayouts obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "branding" (accountSettingsBranding obj) GHC.Base.<> ((Data.Aeson..=) "card_payments" (accountSettingsCardPayments obj) GHC.Base.<> ((Data.Aeson..=) "dashboard" (accountSettingsDashboard obj) GHC.Base.<> ((Data.Aeson..=) "payments" (accountSettingsPayments obj) GHC.Base.<> (Data.Aeson..=) "payouts" (accountSettingsPayouts obj)))))
+instance Data.Aeson.Types.FromJSON.FromJSON AccountSettings
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountSettings" (\obj -> ((((GHC.Base.pure AccountSettings GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "branding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card_payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "dashboard")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts"))
+-- | Defines the data type for the schema alipay_account
+--
+--
+data AlipayAccount = AlipayAccount {
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ alipayAccountCreated :: GHC.Integer.Type.Integer
+ -- | customer: The ID of the customer associated with this Alipay Account.
+ , alipayAccountCustomer :: (GHC.Maybe.Maybe AlipayAccountCustomer'Variants)
+ -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , alipayAccountFingerprint :: GHC.Base.String
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , alipayAccountId :: GHC.Base.String
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , alipayAccountLivemode :: GHC.Types.Bool
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , alipayAccountMetadata :: (GHC.Maybe.Maybe AlipayAccountMetadata')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , alipayAccountObject :: AlipayAccountObject'
+ -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for.
+ , alipayAccountPaymentAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for.
+ , alipayAccountPaymentCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.
+ , alipayAccountReusable :: GHC.Types.Bool
+ -- | used: Whether this Alipay account object has ever been used for a payment.
+ , alipayAccountUsed :: GHC.Types.Bool
+ -- | username: The username for the Alipay account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , alipayAccountUsername :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AlipayAccount
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (alipayAccountCreated obj) : (Data.Aeson..=) "customer" (alipayAccountCustomer obj) : (Data.Aeson..=) "fingerprint" (alipayAccountFingerprint obj) : (Data.Aeson..=) "id" (alipayAccountId obj) : (Data.Aeson..=) "livemode" (alipayAccountLivemode obj) : (Data.Aeson..=) "metadata" (alipayAccountMetadata obj) : (Data.Aeson..=) "object" (alipayAccountObject obj) : (Data.Aeson..=) "payment_amount" (alipayAccountPaymentAmount obj) : (Data.Aeson..=) "payment_currency" (alipayAccountPaymentCurrency obj) : (Data.Aeson..=) "reusable" (alipayAccountReusable obj) : (Data.Aeson..=) "used" (alipayAccountUsed obj) : (Data.Aeson..=) "username" (alipayAccountUsername obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (alipayAccountCreated obj) GHC.Base.<> ((Data.Aeson..=) "customer" (alipayAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (alipayAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "id" (alipayAccountId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (alipayAccountLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (alipayAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (alipayAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_amount" (alipayAccountPaymentAmount obj) GHC.Base.<> ((Data.Aeson..=) "payment_currency" (alipayAccountPaymentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "reusable" (alipayAccountReusable obj) GHC.Base.<> ((Data.Aeson..=) "used" (alipayAccountUsed obj) GHC.Base.<> (Data.Aeson..=) "username" (alipayAccountUsername obj))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON AlipayAccount
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AlipayAccount" (\obj -> (((((((((((GHC.Base.pure AlipayAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reusable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "used")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "username"))
+-- | Define the one-of schema alipay_accountCustomer\'
+--
+-- The ID of the customer associated with this Alipay Account.
+data AlipayAccountCustomer'Variants
+ = AlipayAccountCustomer'Customer Customer
+ | AlipayAccountCustomer'DeletedCustomer DeletedCustomer
+ | AlipayAccountCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON AlipayAccountCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON AlipayAccountCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema alipay_accountMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data AlipayAccountMetadata' = AlipayAccountMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AlipayAccountMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON AlipayAccountMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "AlipayAccountMetadata'" (\obj -> GHC.Base.pure AlipayAccountMetadata')
+-- | Defines the enum schema alipay_accountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data AlipayAccountObject'
+ = AlipayAccountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | AlipayAccountObject'EnumTyped GHC.Base.String
+ | AlipayAccountObject'EnumStringAlipayAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON AlipayAccountObject'
+ where toJSON (AlipayAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AlipayAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (AlipayAccountObject'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account"
+instance Data.Aeson.FromJSON AlipayAccountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account")
+ then AlipayAccountObject'EnumStringAlipayAccount
+ else AlipayAccountObject'EnumOther val)
+-- | Defines the data type for the schema api_errors
+--
+--
+data ApiErrors = ApiErrors {
+ -- | charge: For card errors, the ID of the failed charge.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ apiErrorsCharge :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | code: For some errors that could be handled programmatically, a short string indicating the [error code](https:\/\/stripe.com\/docs\/error-codes) reported.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | decline_code: For card errors resulting from a card issuer decline, a short string indicating the [card issuer\'s reason for the decline](https:\/\/stripe.com\/docs\/declines\#issuer-declines) if they provide one.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsDeclineCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | doc_url: A URL to more information about the [error code](https:\/\/stripe.com\/docs\/error-codes) reported.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsDocUrl :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | message: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 40000
+ , apiErrorsMessage :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | param: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsParam :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | payment_intent: A PaymentIntent guides you through the process of collecting a payment from your customer.
+ -- We recommend that you create exactly one PaymentIntent for each order or
+ -- customer session in your system. You can reference the PaymentIntent later to
+ -- see the history of payment attempts for a particular session.
+ --
+ -- A PaymentIntent transitions through
+ -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses)
+ -- throughout its lifetime as it interfaces with Stripe.js to perform
+ -- authentication flows and ultimately creates at most one successful charge.
+ --
+ -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents).
+ , apiErrorsPaymentIntent :: (GHC.Maybe.Maybe PaymentIntent)
+ -- | payment_method: PaymentMethod objects represent your customer\'s payment instruments.
+ -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to
+ -- Customer objects to store instrument details for future payments.
+ --
+ -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios).
+ , apiErrorsPaymentMethod :: (GHC.Maybe.Maybe PaymentMethod)
+ -- | setup_intent: A SetupIntent guides you through the process of setting up a customer\'s payment credentials for future payments.
+ -- For example, you could use a SetupIntent to set up your customer\'s card without immediately collecting a payment.
+ -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow.
+ --
+ -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials.
+ -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid.
+ -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides
+ -- you through the setup process.
+ --
+ -- Successful SetupIntents result in payment credentials that are optimized for future payments.
+ -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through
+ -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection
+ -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents).
+ --
+ -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction,
+ -- even as regulations change over time.
+ , apiErrorsSetupIntent :: (GHC.Maybe.Maybe SetupIntent)
+ -- | source: The source object for errors returned on a request involving a source.
+ , apiErrorsSource :: (GHC.Maybe.Maybe ApiErrorsSource')
+ -- | type: The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\`
+ , apiErrorsType :: ApiErrorsType'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrors
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (apiErrorsCharge obj) : (Data.Aeson..=) "code" (apiErrorsCode obj) : (Data.Aeson..=) "decline_code" (apiErrorsDeclineCode obj) : (Data.Aeson..=) "doc_url" (apiErrorsDocUrl obj) : (Data.Aeson..=) "message" (apiErrorsMessage obj) : (Data.Aeson..=) "param" (apiErrorsParam obj) : (Data.Aeson..=) "payment_intent" (apiErrorsPaymentIntent obj) : (Data.Aeson..=) "payment_method" (apiErrorsPaymentMethod obj) : (Data.Aeson..=) "setup_intent" (apiErrorsSetupIntent obj) : (Data.Aeson..=) "source" (apiErrorsSource obj) : (Data.Aeson..=) "type" (apiErrorsType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (apiErrorsCharge obj) GHC.Base.<> ((Data.Aeson..=) "code" (apiErrorsCode obj) GHC.Base.<> ((Data.Aeson..=) "decline_code" (apiErrorsDeclineCode obj) GHC.Base.<> ((Data.Aeson..=) "doc_url" (apiErrorsDocUrl obj) GHC.Base.<> ((Data.Aeson..=) "message" (apiErrorsMessage obj) GHC.Base.<> ((Data.Aeson..=) "param" (apiErrorsParam obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (apiErrorsPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (apiErrorsPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (apiErrorsSetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "source" (apiErrorsSource obj) GHC.Base.<> (Data.Aeson..=) "type" (apiErrorsType obj)))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrors
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrors" (\obj -> ((((((((((GHC.Base.pure ApiErrors GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "decline_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "doc_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "param")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type"))
+-- | Defines the data type for the schema api_errorsSource\'
+--
+-- The source object for errors returned on a request involving a source.
+data ApiErrorsSource' = ApiErrorsSource' {
+ -- | account: The ID of the account that the bank account is associated with.
+ apiErrorsSource'Account :: (GHC.Maybe.Maybe ApiErrorsSource'Account'Variants)
+ -- | account_holder_name: The name of the person or business that owns the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | ach_credit_transfer
+ , apiErrorsSource'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer)
+ -- | ach_debit
+ , apiErrorsSource'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit)
+ -- | address_city: City\/District\/Suburb\/Town\/Village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_country: Billing address country, if provided when creating card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_state: State\/County\/Province\/Region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressState :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | alipay
+ , apiErrorsSource'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay)
+ -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources.
+ , apiErrorsSource'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer.
+ , apiErrorsSource'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] ApiErrorsSource'AvailablePayoutMethods'))
+ -- | bancontact
+ , apiErrorsSource'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact)
+ -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'BankName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Brand :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | card
+ , apiErrorsSource'Card :: (GHC.Maybe.Maybe SourceTypeCard)
+ -- | card_present
+ , apiErrorsSource'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent)
+ -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | code_verification:
+ , apiErrorsSource'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow)
+ -- | country: Two-letter ISO code representing the country the bank account is located in.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , apiErrorsSource'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ , apiErrorsSource'Currency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The ID of the customer that the bank account is associated with.
+ , apiErrorsSource'Customer :: (GHC.Maybe.Maybe ApiErrorsSource'Customer'Variants)
+ -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_for_currency: Whether this bank account is the default external account for its currency.
+ , apiErrorsSource'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | eps
+ , apiErrorsSource'Eps :: (GHC.Maybe.Maybe SourceTypeEps)
+ -- | exp_month: Two-digit number representing the card\'s expiration month.
+ , apiErrorsSource'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | exp_year: Four-digit number representing the card\'s expiration year.
+ , apiErrorsSource'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Flow :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Funding :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | giropay
+ , apiErrorsSource'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Id :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | ideal
+ , apiErrorsSource'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal)
+ -- | klarna
+ , apiErrorsSource'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna)
+ -- | last4: The last four digits of the bank account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Last4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , apiErrorsSource'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , apiErrorsSource'Metadata :: (GHC.Maybe.Maybe ApiErrorsSource'Metadata')
+ -- | multibanco
+ , apiErrorsSource'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco)
+ -- | name: Cardholder name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , apiErrorsSource'Object :: (GHC.Maybe.Maybe ApiErrorsSource'Object')
+ -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
+ , apiErrorsSource'Owner :: (GHC.Maybe.Maybe ApiErrorsSource'Owner')
+ -- | p24
+ , apiErrorsSource'P24 :: (GHC.Maybe.Maybe SourceTypeP24)
+ -- | receiver:
+ , apiErrorsSource'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow)
+ -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+ , apiErrorsSource'Recipient :: (GHC.Maybe.Maybe ApiErrorsSource'Recipient'Variants)
+ -- | redirect:
+ , apiErrorsSource'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow)
+ -- | routing_number: The routing transit number for the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | sepa_debit
+ , apiErrorsSource'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit)
+ -- | sofort
+ , apiErrorsSource'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort)
+ -- | source_order:
+ , apiErrorsSource'SourceOrder :: (GHC.Maybe.Maybe SourceOrder)
+ -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
+ --
+ -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Status :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | three_d_secure
+ , apiErrorsSource'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure)
+ -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
+ , apiErrorsSource'Type :: (GHC.Maybe.Maybe ApiErrorsSource'Type')
+ -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Usage :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | wechat
+ , apiErrorsSource'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (apiErrorsSource'Account obj) : (Data.Aeson..=) "account_holder_name" (apiErrorsSource'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (apiErrorsSource'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (apiErrorsSource'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (apiErrorsSource'AchDebit obj) : (Data.Aeson..=) "address_city" (apiErrorsSource'AddressCity obj) : (Data.Aeson..=) "address_country" (apiErrorsSource'AddressCountry obj) : (Data.Aeson..=) "address_line1" (apiErrorsSource'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (apiErrorsSource'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (apiErrorsSource'AddressLine2 obj) : (Data.Aeson..=) "address_state" (apiErrorsSource'AddressState obj) : (Data.Aeson..=) "address_zip" (apiErrorsSource'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (apiErrorsSource'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (apiErrorsSource'Alipay obj) : (Data.Aeson..=) "amount" (apiErrorsSource'Amount obj) : (Data.Aeson..=) "available_payout_methods" (apiErrorsSource'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (apiErrorsSource'Bancontact obj) : (Data.Aeson..=) "bank_name" (apiErrorsSource'BankName obj) : (Data.Aeson..=) "brand" (apiErrorsSource'Brand obj) : (Data.Aeson..=) "card" (apiErrorsSource'Card obj) : (Data.Aeson..=) "card_present" (apiErrorsSource'CardPresent obj) : (Data.Aeson..=) "client_secret" (apiErrorsSource'ClientSecret obj) : (Data.Aeson..=) "code_verification" (apiErrorsSource'CodeVerification obj) : (Data.Aeson..=) "country" (apiErrorsSource'Country obj) : (Data.Aeson..=) "created" (apiErrorsSource'Created obj) : (Data.Aeson..=) "currency" (apiErrorsSource'Currency obj) : (Data.Aeson..=) "customer" (apiErrorsSource'Customer obj) : (Data.Aeson..=) "cvc_check" (apiErrorsSource'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (apiErrorsSource'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (apiErrorsSource'DynamicLast4 obj) : (Data.Aeson..=) "eps" (apiErrorsSource'Eps obj) : (Data.Aeson..=) "exp_month" (apiErrorsSource'ExpMonth obj) : (Data.Aeson..=) "exp_year" (apiErrorsSource'ExpYear obj) : (Data.Aeson..=) "fingerprint" (apiErrorsSource'Fingerprint obj) : (Data.Aeson..=) "flow" (apiErrorsSource'Flow obj) : (Data.Aeson..=) "funding" (apiErrorsSource'Funding obj) : (Data.Aeson..=) "giropay" (apiErrorsSource'Giropay obj) : (Data.Aeson..=) "id" (apiErrorsSource'Id obj) : (Data.Aeson..=) "ideal" (apiErrorsSource'Ideal obj) : (Data.Aeson..=) "klarna" (apiErrorsSource'Klarna obj) : (Data.Aeson..=) "last4" (apiErrorsSource'Last4 obj) : (Data.Aeson..=) "livemode" (apiErrorsSource'Livemode obj) : (Data.Aeson..=) "metadata" (apiErrorsSource'Metadata obj) : (Data.Aeson..=) "multibanco" (apiErrorsSource'Multibanco obj) : (Data.Aeson..=) "name" (apiErrorsSource'Name obj) : (Data.Aeson..=) "object" (apiErrorsSource'Object obj) : (Data.Aeson..=) "owner" (apiErrorsSource'Owner obj) : (Data.Aeson..=) "p24" (apiErrorsSource'P24 obj) : (Data.Aeson..=) "receiver" (apiErrorsSource'Receiver obj) : (Data.Aeson..=) "recipient" (apiErrorsSource'Recipient obj) : (Data.Aeson..=) "redirect" (apiErrorsSource'Redirect obj) : (Data.Aeson..=) "routing_number" (apiErrorsSource'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (apiErrorsSource'SepaDebit obj) : (Data.Aeson..=) "sofort" (apiErrorsSource'Sofort obj) : (Data.Aeson..=) "source_order" (apiErrorsSource'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (apiErrorsSource'StatementDescriptor obj) : (Data.Aeson..=) "status" (apiErrorsSource'Status obj) : (Data.Aeson..=) "three_d_secure" (apiErrorsSource'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (apiErrorsSource'TokenizationMethod obj) : (Data.Aeson..=) "type" (apiErrorsSource'Type obj) : (Data.Aeson..=) "usage" (apiErrorsSource'Usage obj) : (Data.Aeson..=) "wechat" (apiErrorsSource'Wechat obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (apiErrorsSource'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (apiErrorsSource'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (apiErrorsSource'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (apiErrorsSource'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (apiErrorsSource'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (apiErrorsSource'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (apiErrorsSource'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (apiErrorsSource'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (apiErrorsSource'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (apiErrorsSource'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (apiErrorsSource'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (apiErrorsSource'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (apiErrorsSource'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (apiErrorsSource'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (apiErrorsSource'Amount obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (apiErrorsSource'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (apiErrorsSource'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (apiErrorsSource'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (apiErrorsSource'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (apiErrorsSource'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (apiErrorsSource'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (apiErrorsSource'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (apiErrorsSource'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (apiErrorsSource'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (apiErrorsSource'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (apiErrorsSource'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (apiErrorsSource'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (apiErrorsSource'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (apiErrorsSource'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "eps" (apiErrorsSource'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (apiErrorsSource'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (apiErrorsSource'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (apiErrorsSource'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (apiErrorsSource'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (apiErrorsSource'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (apiErrorsSource'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (apiErrorsSource'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (apiErrorsSource'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (apiErrorsSource'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (apiErrorsSource'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (apiErrorsSource'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (apiErrorsSource'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (apiErrorsSource'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (apiErrorsSource'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (apiErrorsSource'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (apiErrorsSource'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (apiErrorsSource'P24 obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (apiErrorsSource'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (apiErrorsSource'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (apiErrorsSource'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (apiErrorsSource'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (apiErrorsSource'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (apiErrorsSource'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (apiErrorsSource'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (apiErrorsSource'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (apiErrorsSource'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (apiErrorsSource'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (apiErrorsSource'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "type" (apiErrorsSource'Type obj) GHC.Base.<> ((Data.Aeson..=) "usage" (apiErrorsSource'Usage obj) GHC.Base.<> (Data.Aeson..=) "wechat" (apiErrorsSource'Wechat obj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure ApiErrorsSource' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat"))
+-- | Define the one-of schema api_errorsSource\'Account\'
+--
+-- The ID of the account that the bank account is associated with.
+data ApiErrorsSource'Account'Variants
+ = ApiErrorsSource'Account'Account Account
+ | ApiErrorsSource'Account'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApiErrorsSource'Account'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApiErrorsSource'Account'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema api_errorsSource\'Available_payout_methods\'
+--
+--
+data ApiErrorsSource'AvailablePayoutMethods'
+ = ApiErrorsSource'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value
+ | ApiErrorsSource'AvailablePayoutMethods'EnumTyped GHC.Base.String
+ | ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant
+ | ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'AvailablePayoutMethods'
+ where toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant"
+ toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON ApiErrorsSource'AvailablePayoutMethods'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant")
+ then ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard
+ else ApiErrorsSource'AvailablePayoutMethods'EnumOther val)
+-- | Define the one-of schema api_errorsSource\'Customer\'
+--
+-- The ID of the customer that the bank account is associated with.
+data ApiErrorsSource'Customer'Variants
+ = ApiErrorsSource'Customer'Customer Customer
+ | ApiErrorsSource'Customer'DeletedCustomer DeletedCustomer
+ | ApiErrorsSource'Customer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApiErrorsSource'Customer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApiErrorsSource'Customer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema api_errorsSource\'Metadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data ApiErrorsSource'Metadata' = ApiErrorsSource'Metadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Metadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Metadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Metadata'" (\obj -> GHC.Base.pure ApiErrorsSource'Metadata')
+-- | Defines the enum schema api_errorsSource\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data ApiErrorsSource'Object'
+ = ApiErrorsSource'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | ApiErrorsSource'Object'EnumTyped GHC.Base.String
+ | ApiErrorsSource'Object'EnumStringBankAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Object'
+ where toJSON (ApiErrorsSource'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account"
+instance Data.Aeson.FromJSON ApiErrorsSource'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account")
+ then ApiErrorsSource'Object'EnumStringBankAccount
+ else ApiErrorsSource'Object'EnumOther val)
+-- | Defines the data type for the schema api_errorsSource\'Owner\'
+--
+-- Information about the owner of the payment instrument that may be used or required by particular source types.
+data ApiErrorsSource'Owner' = ApiErrorsSource'Owner' {
+ -- | address: Owner\'s address.
+ apiErrorsSource'Owner'Address :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'Address')
+ -- | email: Owner\'s email address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: Owner\'s full name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | phone: Owner\'s phone number (including extension).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ , apiErrorsSource'Owner'VerifiedAddress :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'VerifiedAddress')
+ -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Owner'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (apiErrorsSource'Owner'Address obj) : (Data.Aeson..=) "email" (apiErrorsSource'Owner'Email obj) : (Data.Aeson..=) "name" (apiErrorsSource'Owner'Name obj) : (Data.Aeson..=) "phone" (apiErrorsSource'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (apiErrorsSource'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (apiErrorsSource'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (apiErrorsSource'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (apiErrorsSource'Owner'VerifiedPhone obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (apiErrorsSource'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (apiErrorsSource'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (apiErrorsSource'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (apiErrorsSource'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (apiErrorsSource'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (apiErrorsSource'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (apiErrorsSource'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (apiErrorsSource'Owner'VerifiedPhone obj))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'" (\obj -> (((((((GHC.Base.pure ApiErrorsSource'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone"))
+-- | Defines the data type for the schema api_errorsSource\'Owner\'Address\'
+--
+-- Owner\\\'s address.
+data ApiErrorsSource'Owner'Address' = ApiErrorsSource'Owner'Address' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ apiErrorsSource'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Owner'Address'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (apiErrorsSource'Owner'Address'City obj) : (Data.Aeson..=) "country" (apiErrorsSource'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (apiErrorsSource'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (apiErrorsSource'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (apiErrorsSource'Owner'Address'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (apiErrorsSource'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (apiErrorsSource'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (apiErrorsSource'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (apiErrorsSource'Owner'Address'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'Address'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'Address'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Defines the data type for the schema api_errorsSource\'Owner\'Verified_address\'
+--
+-- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+data ApiErrorsSource'Owner'VerifiedAddress' = ApiErrorsSource'Owner'VerifiedAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ apiErrorsSource'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , apiErrorsSource'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Owner'VerifiedAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (apiErrorsSource'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (apiErrorsSource'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (apiErrorsSource'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (apiErrorsSource'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (apiErrorsSource'Owner'VerifiedAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (apiErrorsSource'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (apiErrorsSource'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (apiErrorsSource'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (apiErrorsSource'Owner'VerifiedAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'VerifiedAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Define the one-of schema api_errorsSource\'Recipient\'
+--
+-- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+data ApiErrorsSource'Recipient'Variants
+ = ApiErrorsSource'Recipient'Recipient Recipient
+ | ApiErrorsSource'Recipient'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApiErrorsSource'Recipient'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApiErrorsSource'Recipient'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema api_errorsSource\'Type\'
+--
+-- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
+data ApiErrorsSource'Type'
+ = ApiErrorsSource'Type'EnumOther Data.Aeson.Types.Internal.Value
+ | ApiErrorsSource'Type'EnumTyped GHC.Base.String
+ | ApiErrorsSource'Type'EnumStringAchCreditTransfer
+ | ApiErrorsSource'Type'EnumStringAchDebit
+ | ApiErrorsSource'Type'EnumStringAlipay
+ | ApiErrorsSource'Type'EnumStringBancontact
+ | ApiErrorsSource'Type'EnumStringCard
+ | ApiErrorsSource'Type'EnumStringCardPresent
+ | ApiErrorsSource'Type'EnumStringEps
+ | ApiErrorsSource'Type'EnumStringGiropay
+ | ApiErrorsSource'Type'EnumStringIdeal
+ | ApiErrorsSource'Type'EnumStringKlarna
+ | ApiErrorsSource'Type'EnumStringMultibanco
+ | ApiErrorsSource'Type'EnumStringP24
+ | ApiErrorsSource'Type'EnumStringSepaDebit
+ | ApiErrorsSource'Type'EnumStringSofort
+ | ApiErrorsSource'Type'EnumStringThreeDSecure
+ | ApiErrorsSource'Type'EnumStringWechat
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsSource'Type'
+ where toJSON (ApiErrorsSource'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsSource'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer"
+ toJSON (ApiErrorsSource'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit"
+ toJSON (ApiErrorsSource'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay"
+ toJSON (ApiErrorsSource'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact"
+ toJSON (ApiErrorsSource'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card"
+ toJSON (ApiErrorsSource'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present"
+ toJSON (ApiErrorsSource'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps"
+ toJSON (ApiErrorsSource'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay"
+ toJSON (ApiErrorsSource'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal"
+ toJSON (ApiErrorsSource'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna"
+ toJSON (ApiErrorsSource'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco"
+ toJSON (ApiErrorsSource'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24"
+ toJSON (ApiErrorsSource'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit"
+ toJSON (ApiErrorsSource'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort"
+ toJSON (ApiErrorsSource'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure"
+ toJSON (ApiErrorsSource'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat"
+instance Data.Aeson.FromJSON ApiErrorsSource'Type'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer")
+ then ApiErrorsSource'Type'EnumStringAchCreditTransfer
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit")
+ then ApiErrorsSource'Type'EnumStringAchDebit
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay")
+ then ApiErrorsSource'Type'EnumStringAlipay
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact")
+ then ApiErrorsSource'Type'EnumStringBancontact
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card")
+ then ApiErrorsSource'Type'EnumStringCard
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present")
+ then ApiErrorsSource'Type'EnumStringCardPresent
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps")
+ then ApiErrorsSource'Type'EnumStringEps
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay")
+ then ApiErrorsSource'Type'EnumStringGiropay
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal")
+ then ApiErrorsSource'Type'EnumStringIdeal
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna")
+ then ApiErrorsSource'Type'EnumStringKlarna
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco")
+ then ApiErrorsSource'Type'EnumStringMultibanco
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24")
+ then ApiErrorsSource'Type'EnumStringP24
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit")
+ then ApiErrorsSource'Type'EnumStringSepaDebit
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort")
+ then ApiErrorsSource'Type'EnumStringSofort
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure")
+ then ApiErrorsSource'Type'EnumStringThreeDSecure
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat")
+ then ApiErrorsSource'Type'EnumStringWechat
+ else ApiErrorsSource'Type'EnumOther val)
+-- | Defines the enum schema api_errorsType\'
+--
+-- The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\`
+data ApiErrorsType'
+ = ApiErrorsType'EnumOther Data.Aeson.Types.Internal.Value
+ | ApiErrorsType'EnumTyped GHC.Base.String
+ | ApiErrorsType'EnumStringApiConnectionError
+ | ApiErrorsType'EnumStringApiError
+ | ApiErrorsType'EnumStringAuthenticationError
+ | ApiErrorsType'EnumStringCardError
+ | ApiErrorsType'EnumStringIdempotencyError
+ | ApiErrorsType'EnumStringInvalidRequestError
+ | ApiErrorsType'EnumStringRateLimitError
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApiErrorsType'
+ where toJSON (ApiErrorsType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApiErrorsType'EnumStringApiConnectionError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error"
+ toJSON (ApiErrorsType'EnumStringApiError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error"
+ toJSON (ApiErrorsType'EnumStringAuthenticationError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error"
+ toJSON (ApiErrorsType'EnumStringCardError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error"
+ toJSON (ApiErrorsType'EnumStringIdempotencyError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error"
+ toJSON (ApiErrorsType'EnumStringInvalidRequestError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error"
+ toJSON (ApiErrorsType'EnumStringRateLimitError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error"
+instance Data.Aeson.FromJSON ApiErrorsType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error")
+ then ApiErrorsType'EnumStringApiConnectionError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error")
+ then ApiErrorsType'EnumStringApiError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error")
+ then ApiErrorsType'EnumStringAuthenticationError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error")
+ then ApiErrorsType'EnumStringCardError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error")
+ then ApiErrorsType'EnumStringIdempotencyError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error")
+ then ApiErrorsType'EnumStringInvalidRequestError
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error")
+ then ApiErrorsType'EnumStringRateLimitError
+ else ApiErrorsType'EnumOther val)
+-- | Defines the data type for the schema application_fee
+--
+--
+data ApplicationFee = ApplicationFee {
+ -- | account: ID of the Stripe account this fee was taken from.
+ applicationFeeAccount :: ApplicationFeeAccount'Variants
+ -- | amount: Amount earned, in %s.
+ , applicationFeeAmount :: GHC.Integer.Type.Integer
+ -- | amount_refunded: Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)
+ , applicationFeeAmountRefunded :: GHC.Integer.Type.Integer
+ -- | application: ID of the Connect application that earned the fee.
+ , applicationFeeApplication :: ApplicationFeeApplication'Variants
+ -- | balance_transaction: Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).
+ , applicationFeeBalanceTransaction :: (GHC.Maybe.Maybe ApplicationFeeBalanceTransaction'Variants)
+ -- | charge: ID of the charge that the application fee was taken from.
+ , applicationFeeCharge :: ApplicationFeeCharge'Variants
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , applicationFeeCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , applicationFeeCurrency :: GHC.Base.String
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , applicationFeeId :: GHC.Base.String
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , applicationFeeLivemode :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , applicationFeeObject :: ApplicationFeeObject'
+ -- | originating_transaction: ID of the corresponding charge on the platform account, if this fee was the result of a charge using the \`destination\` parameter.
+ , applicationFeeOriginatingTransaction :: (GHC.Maybe.Maybe ApplicationFeeOriginatingTransaction'Variants)
+ -- | refunded: Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.
+ , applicationFeeRefunded :: GHC.Types.Bool
+ -- | refunds: A list of refunds that have been applied to the fee.
+ , applicationFeeRefunds :: ApplicationFeeRefunds'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApplicationFee
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (applicationFeeAccount obj) : (Data.Aeson..=) "amount" (applicationFeeAmount obj) : (Data.Aeson..=) "amount_refunded" (applicationFeeAmountRefunded obj) : (Data.Aeson..=) "application" (applicationFeeApplication obj) : (Data.Aeson..=) "balance_transaction" (applicationFeeBalanceTransaction obj) : (Data.Aeson..=) "charge" (applicationFeeCharge obj) : (Data.Aeson..=) "created" (applicationFeeCreated obj) : (Data.Aeson..=) "currency" (applicationFeeCurrency obj) : (Data.Aeson..=) "id" (applicationFeeId obj) : (Data.Aeson..=) "livemode" (applicationFeeLivemode obj) : (Data.Aeson..=) "object" (applicationFeeObject obj) : (Data.Aeson..=) "originating_transaction" (applicationFeeOriginatingTransaction obj) : (Data.Aeson..=) "refunded" (applicationFeeRefunded obj) : (Data.Aeson..=) "refunds" (applicationFeeRefunds obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (applicationFeeAccount obj) GHC.Base.<> ((Data.Aeson..=) "amount" (applicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_refunded" (applicationFeeAmountRefunded obj) GHC.Base.<> ((Data.Aeson..=) "application" (applicationFeeApplication obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (applicationFeeBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "charge" (applicationFeeCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (applicationFeeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (applicationFeeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (applicationFeeId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (applicationFeeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (applicationFeeObject obj) GHC.Base.<> ((Data.Aeson..=) "originating_transaction" (applicationFeeOriginatingTransaction obj) GHC.Base.<> ((Data.Aeson..=) "refunded" (applicationFeeRefunded obj) GHC.Base.<> (Data.Aeson..=) "refunds" (applicationFeeRefunds obj))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApplicationFee
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApplicationFee" (\obj -> (((((((((((((GHC.Base.pure ApplicationFee GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "originating_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunds"))
+-- | Define the one-of schema application_feeAccount\'
+--
+-- ID of the Stripe account this fee was taken from.
+data ApplicationFeeAccount'Variants
+ = ApplicationFeeAccount'Account Account
+ | ApplicationFeeAccount'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApplicationFeeAccount'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApplicationFeeAccount'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema application_feeApplication\'
+--
+-- ID of the Connect application that earned the fee.
+data ApplicationFeeApplication'Variants
+ = ApplicationFeeApplication'Application Application
+ | ApplicationFeeApplication'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApplicationFeeApplication'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApplicationFeeApplication'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema application_feeBalance_transaction\'
+--
+-- Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).
+data ApplicationFeeBalanceTransaction'Variants
+ = ApplicationFeeBalanceTransaction'BalanceTransaction BalanceTransaction
+ | ApplicationFeeBalanceTransaction'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApplicationFeeBalanceTransaction'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApplicationFeeBalanceTransaction'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema application_feeCharge\'
+--
+-- ID of the charge that the application fee was taken from.
+data ApplicationFeeCharge'Variants
+ = ApplicationFeeCharge'Charge Charge
+ | ApplicationFeeCharge'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApplicationFeeCharge'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApplicationFeeCharge'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema application_feeObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data ApplicationFeeObject'
+ = ApplicationFeeObject'EnumOther Data.Aeson.Types.Internal.Value
+ | ApplicationFeeObject'EnumTyped GHC.Base.String
+ | ApplicationFeeObject'EnumStringApplicationFee
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApplicationFeeObject'
+ where toJSON (ApplicationFeeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApplicationFeeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApplicationFeeObject'EnumStringApplicationFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee"
+instance Data.Aeson.FromJSON ApplicationFeeObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee")
+ then ApplicationFeeObject'EnumStringApplicationFee
+ else ApplicationFeeObject'EnumOther val)
+-- | Define the one-of schema application_feeOriginating_transaction\'
+--
+-- ID of the corresponding charge on the platform account, if this fee was the result of a charge using the \`destination\` parameter.
+data ApplicationFeeOriginatingTransaction'Variants
+ = ApplicationFeeOriginatingTransaction'Charge Charge
+ | ApplicationFeeOriginatingTransaction'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ApplicationFeeOriginatingTransaction'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ApplicationFeeOriginatingTransaction'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema application_feeRefunds\'
+--
+-- A list of refunds that have been applied to the fee.
+data ApplicationFeeRefunds' = ApplicationFeeRefunds' {
+ -- | data: Details about each object.
+ applicationFeeRefunds'Data :: ([] FeeRefund)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , applicationFeeRefunds'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , applicationFeeRefunds'Object :: ApplicationFeeRefunds'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , applicationFeeRefunds'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApplicationFeeRefunds'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (applicationFeeRefunds'Data obj) : (Data.Aeson..=) "has_more" (applicationFeeRefunds'HasMore obj) : (Data.Aeson..=) "object" (applicationFeeRefunds'Object obj) : (Data.Aeson..=) "url" (applicationFeeRefunds'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (applicationFeeRefunds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (applicationFeeRefunds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (applicationFeeRefunds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (applicationFeeRefunds'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON ApplicationFeeRefunds'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApplicationFeeRefunds'" (\obj -> (((GHC.Base.pure ApplicationFeeRefunds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema application_feeRefunds\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data ApplicationFeeRefunds'Object'
+ = ApplicationFeeRefunds'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | ApplicationFeeRefunds'Object'EnumTyped GHC.Base.String
+ | ApplicationFeeRefunds'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ApplicationFeeRefunds'Object'
+ where toJSON (ApplicationFeeRefunds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApplicationFeeRefunds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ApplicationFeeRefunds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON ApplicationFeeRefunds'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then ApplicationFeeRefunds'Object'EnumStringList
+ else ApplicationFeeRefunds'Object'EnumOther val)
+-- | Defines the data type for the schema balance_transaction
+--
+-- Balance transactions represent funds moving through your Stripe account.
+-- They\'re created for every type of transaction that comes into or flows out of your Stripe account balance.
+--
+-- Related guide: [Balance Transaction Types](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types).
+data BalanceTransaction = BalanceTransaction {
+ -- | amount: Gross amount of the transaction, in %s.
+ balanceTransactionAmount :: GHC.Integer.Type.Integer
+ -- | available_on: The date the transaction\'s net funds will become available in the Stripe balance.
+ , balanceTransactionAvailableOn :: GHC.Integer.Type.Integer
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , balanceTransactionCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , balanceTransactionCurrency :: GHC.Base.String
+ -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , balanceTransactionDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | exchange_rate: The exchange rate used, if applicable, for this transaction. Specifically, if money was converted from currency A to currency B, then the \`amount\` in currency A, times \`exchange_rate\`, would be the \`amount\` in currency B. For example, suppose you charged a customer 10.00 EUR. Then the PaymentIntent\'s \`amount\` would be \`1000\` and \`currency\` would be \`eur\`. Suppose this was converted into 12.34 USD in your Stripe account. Then the BalanceTransaction\'s \`amount\` would be \`1234\`, \`currency\` would be \`usd\`, and \`exchange_rate\` would be \`1.234\`.
+ , balanceTransactionExchangeRate :: (GHC.Maybe.Maybe GHC.Types.Double)
+ -- | fee: Fees (in %s) paid for this transaction.
+ , balanceTransactionFee :: GHC.Integer.Type.Integer
+ -- | fee_details: Detailed breakdown of fees (in %s) paid for this transaction.
+ , balanceTransactionFeeDetails :: ([] Fee)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , balanceTransactionId :: GHC.Base.String
+ -- | net: Net amount of the transaction, in %s.
+ , balanceTransactionNet :: GHC.Integer.Type.Integer
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , balanceTransactionObject :: BalanceTransactionObject'
+ -- | reporting_category: [Learn more](https:\/\/stripe.com\/docs\/reports\/reporting-categories) about how reporting categories can help you understand balance transactions from an accounting perspective.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , balanceTransactionReportingCategory :: GHC.Base.String
+ -- | source: The Stripe object to which this transaction is related.
+ , balanceTransactionSource :: (GHC.Maybe.Maybe BalanceTransactionSource'Variants)
+ -- | status: If the transaction\'s net funds are available in the Stripe balance yet. Either \`available\` or \`pending\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , balanceTransactionStatus :: GHC.Base.String
+ -- | type: Transaction type: \`adjustment\`, \`advance\`, \`advance_funding\`, \`application_fee\`, \`application_fee_refund\`, \`charge\`, \`connect_collection_transfer\`, \`issuing_authorization_hold\`, \`issuing_authorization_release\`, \`issuing_transaction\`, \`payment\`, \`payment_failure_refund\`, \`payment_refund\`, \`payout\`, \`payout_cancel\`, \`payout_failure\`, \`refund\`, \`refund_failure\`, \`reserve_transaction\`, \`reserved_funds\`, \`stripe_fee\`, \`stripe_fx_fee\`, \`tax_fee\`, \`topup\`, \`topup_reversal\`, \`transfer\`, \`transfer_cancel\`, \`transfer_failure\`, or \`transfer_refund\`. [Learn more](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider \`reporting_category\` instead.
+ , balanceTransactionType :: BalanceTransactionType'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BalanceTransaction
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (balanceTransactionAmount obj) : (Data.Aeson..=) "available_on" (balanceTransactionAvailableOn obj) : (Data.Aeson..=) "created" (balanceTransactionCreated obj) : (Data.Aeson..=) "currency" (balanceTransactionCurrency obj) : (Data.Aeson..=) "description" (balanceTransactionDescription obj) : (Data.Aeson..=) "exchange_rate" (balanceTransactionExchangeRate obj) : (Data.Aeson..=) "fee" (balanceTransactionFee obj) : (Data.Aeson..=) "fee_details" (balanceTransactionFeeDetails obj) : (Data.Aeson..=) "id" (balanceTransactionId obj) : (Data.Aeson..=) "net" (balanceTransactionNet obj) : (Data.Aeson..=) "object" (balanceTransactionObject obj) : (Data.Aeson..=) "reporting_category" (balanceTransactionReportingCategory obj) : (Data.Aeson..=) "source" (balanceTransactionSource obj) : (Data.Aeson..=) "status" (balanceTransactionStatus obj) : (Data.Aeson..=) "type" (balanceTransactionType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (balanceTransactionAmount obj) GHC.Base.<> ((Data.Aeson..=) "available_on" (balanceTransactionAvailableOn obj) GHC.Base.<> ((Data.Aeson..=) "created" (balanceTransactionCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (balanceTransactionCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (balanceTransactionDescription obj) GHC.Base.<> ((Data.Aeson..=) "exchange_rate" (balanceTransactionExchangeRate obj) GHC.Base.<> ((Data.Aeson..=) "fee" (balanceTransactionFee obj) GHC.Base.<> ((Data.Aeson..=) "fee_details" (balanceTransactionFeeDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (balanceTransactionId obj) GHC.Base.<> ((Data.Aeson..=) "net" (balanceTransactionNet obj) GHC.Base.<> ((Data.Aeson..=) "object" (balanceTransactionObject obj) GHC.Base.<> ((Data.Aeson..=) "reporting_category" (balanceTransactionReportingCategory obj) GHC.Base.<> ((Data.Aeson..=) "source" (balanceTransactionSource obj) GHC.Base.<> ((Data.Aeson..=) "status" (balanceTransactionStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (balanceTransactionType obj)))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON BalanceTransaction
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "BalanceTransaction" (\obj -> ((((((((((((((GHC.Base.pure BalanceTransaction GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "available_on")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exchange_rate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "net")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reporting_category")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type"))
+-- | Defines the enum schema balance_transactionObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data BalanceTransactionObject'
+ = BalanceTransactionObject'EnumOther Data.Aeson.Types.Internal.Value
+ | BalanceTransactionObject'EnumTyped GHC.Base.String
+ | BalanceTransactionObject'EnumStringBalanceTransaction
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BalanceTransactionObject'
+ where toJSON (BalanceTransactionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BalanceTransactionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BalanceTransactionObject'EnumStringBalanceTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "balance_transaction"
+instance Data.Aeson.FromJSON BalanceTransactionObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "balance_transaction")
+ then BalanceTransactionObject'EnumStringBalanceTransaction
+ else BalanceTransactionObject'EnumOther val)
+-- | Define the one-of schema balance_transactionSource\'
+--
+-- The Stripe object to which this transaction is related.
+data BalanceTransactionSource'Variants
+ = BalanceTransactionSource'ApplicationFee ApplicationFee
+ | BalanceTransactionSource'Charge Charge
+ | BalanceTransactionSource'ConnectCollectionTransfer ConnectCollectionTransfer
+ | BalanceTransactionSource'Dispute Dispute
+ | BalanceTransactionSource'FeeRefund FeeRefund
+ | BalanceTransactionSource'Issuing'authorization Issuing'authorization
+ | BalanceTransactionSource'Issuing'transaction Issuing'transaction
+ | BalanceTransactionSource'Payout Payout
+ | BalanceTransactionSource'PlatformTaxFee PlatformTaxFee
+ | BalanceTransactionSource'Refund Refund
+ | BalanceTransactionSource'ReserveTransaction ReserveTransaction
+ | BalanceTransactionSource'TaxDeductedAtSource TaxDeductedAtSource
+ | BalanceTransactionSource'Topup Topup
+ | BalanceTransactionSource'Transfer Transfer
+ | BalanceTransactionSource'TransferReversal TransferReversal
+ | BalanceTransactionSource'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON BalanceTransactionSource'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON BalanceTransactionSource'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema balance_transactionType\'
+--
+-- Transaction type: \`adjustment\`, \`advance\`, \`advance_funding\`, \`application_fee\`, \`application_fee_refund\`, \`charge\`, \`connect_collection_transfer\`, \`issuing_authorization_hold\`, \`issuing_authorization_release\`, \`issuing_transaction\`, \`payment\`, \`payment_failure_refund\`, \`payment_refund\`, \`payout\`, \`payout_cancel\`, \`payout_failure\`, \`refund\`, \`refund_failure\`, \`reserve_transaction\`, \`reserved_funds\`, \`stripe_fee\`, \`stripe_fx_fee\`, \`tax_fee\`, \`topup\`, \`topup_reversal\`, \`transfer\`, \`transfer_cancel\`, \`transfer_failure\`, or \`transfer_refund\`. [Learn more](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider \`reporting_category\` instead.
+data BalanceTransactionType'
+ = BalanceTransactionType'EnumOther Data.Aeson.Types.Internal.Value
+ | BalanceTransactionType'EnumTyped GHC.Base.String
+ | BalanceTransactionType'EnumStringAdjustment
+ | BalanceTransactionType'EnumStringAdvance
+ | BalanceTransactionType'EnumStringAdvanceFunding
+ | BalanceTransactionType'EnumStringApplicationFee
+ | BalanceTransactionType'EnumStringApplicationFeeRefund
+ | BalanceTransactionType'EnumStringCharge
+ | BalanceTransactionType'EnumStringConnectCollectionTransfer
+ | BalanceTransactionType'EnumStringIssuingAuthorizationHold
+ | BalanceTransactionType'EnumStringIssuingAuthorizationRelease
+ | BalanceTransactionType'EnumStringIssuingTransaction
+ | BalanceTransactionType'EnumStringPayment
+ | BalanceTransactionType'EnumStringPaymentFailureRefund
+ | BalanceTransactionType'EnumStringPaymentRefund
+ | BalanceTransactionType'EnumStringPayout
+ | BalanceTransactionType'EnumStringPayoutCancel
+ | BalanceTransactionType'EnumStringPayoutFailure
+ | BalanceTransactionType'EnumStringRefund
+ | BalanceTransactionType'EnumStringRefundFailure
+ | BalanceTransactionType'EnumStringReserveTransaction
+ | BalanceTransactionType'EnumStringReservedFunds
+ | BalanceTransactionType'EnumStringStripeFee
+ | BalanceTransactionType'EnumStringStripeFxFee
+ | BalanceTransactionType'EnumStringTaxFee
+ | BalanceTransactionType'EnumStringTopup
+ | BalanceTransactionType'EnumStringTopupReversal
+ | BalanceTransactionType'EnumStringTransfer
+ | BalanceTransactionType'EnumStringTransferCancel
+ | BalanceTransactionType'EnumStringTransferFailure
+ | BalanceTransactionType'EnumStringTransferRefund
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BalanceTransactionType'
+ where toJSON (BalanceTransactionType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BalanceTransactionType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BalanceTransactionType'EnumStringAdjustment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment"
+ toJSON (BalanceTransactionType'EnumStringAdvance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance"
+ toJSON (BalanceTransactionType'EnumStringAdvanceFunding) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance_funding"
+ toJSON (BalanceTransactionType'EnumStringApplicationFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee"
+ toJSON (BalanceTransactionType'EnumStringApplicationFeeRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee_refund"
+ toJSON (BalanceTransactionType'EnumStringCharge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge"
+ toJSON (BalanceTransactionType'EnumStringConnectCollectionTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer"
+ toJSON (BalanceTransactionType'EnumStringIssuingAuthorizationHold) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_hold"
+ toJSON (BalanceTransactionType'EnumStringIssuingAuthorizationRelease) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_release"
+ toJSON (BalanceTransactionType'EnumStringIssuingTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_transaction"
+ toJSON (BalanceTransactionType'EnumStringPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment"
+ toJSON (BalanceTransactionType'EnumStringPaymentFailureRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_failure_refund"
+ toJSON (BalanceTransactionType'EnumStringPaymentRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_refund"
+ toJSON (BalanceTransactionType'EnumStringPayout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout"
+ toJSON (BalanceTransactionType'EnumStringPayoutCancel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_cancel"
+ toJSON (BalanceTransactionType'EnumStringPayoutFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_failure"
+ toJSON (BalanceTransactionType'EnumStringRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund"
+ toJSON (BalanceTransactionType'EnumStringRefundFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_failure"
+ toJSON (BalanceTransactionType'EnumStringReserveTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserve_transaction"
+ toJSON (BalanceTransactionType'EnumStringReservedFunds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserved_funds"
+ toJSON (BalanceTransactionType'EnumStringStripeFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fee"
+ toJSON (BalanceTransactionType'EnumStringStripeFxFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fx_fee"
+ toJSON (BalanceTransactionType'EnumStringTaxFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_fee"
+ toJSON (BalanceTransactionType'EnumStringTopup) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup"
+ toJSON (BalanceTransactionType'EnumStringTopupReversal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup_reversal"
+ toJSON (BalanceTransactionType'EnumStringTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer"
+ toJSON (BalanceTransactionType'EnumStringTransferCancel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_cancel"
+ toJSON (BalanceTransactionType'EnumStringTransferFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_failure"
+ toJSON (BalanceTransactionType'EnumStringTransferRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_refund"
+instance Data.Aeson.FromJSON BalanceTransactionType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment")
+ then BalanceTransactionType'EnumStringAdjustment
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance")
+ then BalanceTransactionType'EnumStringAdvance
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance_funding")
+ then BalanceTransactionType'EnumStringAdvanceFunding
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee")
+ then BalanceTransactionType'EnumStringApplicationFee
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee_refund")
+ then BalanceTransactionType'EnumStringApplicationFeeRefund
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge")
+ then BalanceTransactionType'EnumStringCharge
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer")
+ then BalanceTransactionType'EnumStringConnectCollectionTransfer
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_hold")
+ then BalanceTransactionType'EnumStringIssuingAuthorizationHold
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_release")
+ then BalanceTransactionType'EnumStringIssuingAuthorizationRelease
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_transaction")
+ then BalanceTransactionType'EnumStringIssuingTransaction
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment")
+ then BalanceTransactionType'EnumStringPayment
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_failure_refund")
+ then BalanceTransactionType'EnumStringPaymentFailureRefund
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_refund")
+ then BalanceTransactionType'EnumStringPaymentRefund
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout")
+ then BalanceTransactionType'EnumStringPayout
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_cancel")
+ then BalanceTransactionType'EnumStringPayoutCancel
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_failure")
+ then BalanceTransactionType'EnumStringPayoutFailure
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund")
+ then BalanceTransactionType'EnumStringRefund
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_failure")
+ then BalanceTransactionType'EnumStringRefundFailure
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserve_transaction")
+ then BalanceTransactionType'EnumStringReserveTransaction
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserved_funds")
+ then BalanceTransactionType'EnumStringReservedFunds
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fee")
+ then BalanceTransactionType'EnumStringStripeFee
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fx_fee")
+ then BalanceTransactionType'EnumStringStripeFxFee
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_fee")
+ then BalanceTransactionType'EnumStringTaxFee
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup")
+ then BalanceTransactionType'EnumStringTopup
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup_reversal")
+ then BalanceTransactionType'EnumStringTopupReversal
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer")
+ then BalanceTransactionType'EnumStringTransfer
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_cancel")
+ then BalanceTransactionType'EnumStringTransferCancel
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_failure")
+ then BalanceTransactionType'EnumStringTransferFailure
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_refund")
+ then BalanceTransactionType'EnumStringTransferRefund
+ else BalanceTransactionType'EnumOther val)
+-- | Defines the data type for the schema bank_account
+--
+-- These bank accounts are payment methods on \`Customer\` objects.
+--
+-- On the other hand [External Accounts](https:\/\/stripe.com\/docs\/api\#external_accounts) are transfer
+-- destinations on \`Account\` objects for [Custom accounts](https:\/\/stripe.com\/docs\/connect\/custom-accounts).
+-- They can be bank accounts or debit cards as well, and are documented in the links above.
+--
+-- Related guide: [Processing ACH & Bank Transfers](https:\/\/stripe.com\/docs\/payments\/ach-bank-transfers).
+data BankAccount = BankAccount {
+ -- | account: The ID of the account that the bank account is associated with.
+ bankAccountAccount :: (GHC.Maybe.Maybe BankAccountAccount'Variants)
+ -- | account_holder_name: The name of the person or business that owns the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountAccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountAccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountBankName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter ISO code representing the country the bank account is located in.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountCountry :: GHC.Base.String
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ , bankAccountCurrency :: GHC.Base.String
+ -- | customer: The ID of the customer that the bank account is associated with.
+ , bankAccountCustomer :: (GHC.Maybe.Maybe BankAccountCustomer'Variants)
+ -- | default_for_currency: Whether this bank account is the default external account for its currency.
+ , bankAccountDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountFingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountId :: GHC.Base.String
+ -- | last4: The last four digits of the bank account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountLast4 :: GHC.Base.String
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , bankAccountMetadata :: (GHC.Maybe.Maybe BankAccountMetadata')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , bankAccountObject :: BankAccountObject'
+ -- | routing_number: The routing transit number for the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountRoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
+ --
+ -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , bankAccountStatus :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BankAccount
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (bankAccountAccount obj) : (Data.Aeson..=) "account_holder_name" (bankAccountAccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (bankAccountAccountHolderType obj) : (Data.Aeson..=) "bank_name" (bankAccountBankName obj) : (Data.Aeson..=) "country" (bankAccountCountry obj) : (Data.Aeson..=) "currency" (bankAccountCurrency obj) : (Data.Aeson..=) "customer" (bankAccountCustomer obj) : (Data.Aeson..=) "default_for_currency" (bankAccountDefaultForCurrency obj) : (Data.Aeson..=) "fingerprint" (bankAccountFingerprint obj) : (Data.Aeson..=) "id" (bankAccountId obj) : (Data.Aeson..=) "last4" (bankAccountLast4 obj) : (Data.Aeson..=) "metadata" (bankAccountMetadata obj) : (Data.Aeson..=) "object" (bankAccountObject obj) : (Data.Aeson..=) "routing_number" (bankAccountRoutingNumber obj) : (Data.Aeson..=) "status" (bankAccountStatus obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (bankAccountAccount obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (bankAccountAccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (bankAccountAccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (bankAccountBankName obj) GHC.Base.<> ((Data.Aeson..=) "country" (bankAccountCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (bankAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (bankAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (bankAccountDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (bankAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "id" (bankAccountId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (bankAccountLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (bankAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (bankAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (bankAccountRoutingNumber obj) GHC.Base.<> (Data.Aeson..=) "status" (bankAccountStatus obj)))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON BankAccount
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "BankAccount" (\obj -> ((((((((((((((GHC.Base.pure BankAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status"))
+-- | Define the one-of schema bank_accountAccount\'
+--
+-- The ID of the account that the bank account is associated with.
+data BankAccountAccount'Variants
+ = BankAccountAccount'Account Account
+ | BankAccountAccount'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON BankAccountAccount'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON BankAccountAccount'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema bank_accountCustomer\'
+--
+-- The ID of the customer that the bank account is associated with.
+data BankAccountCustomer'Variants
+ = BankAccountCustomer'Customer Customer
+ | BankAccountCustomer'DeletedCustomer DeletedCustomer
+ | BankAccountCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON BankAccountCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON BankAccountCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema bank_accountMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data BankAccountMetadata' = BankAccountMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BankAccountMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON BankAccountMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "BankAccountMetadata'" (\obj -> GHC.Base.pure BankAccountMetadata')
+-- | Defines the enum schema bank_accountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data BankAccountObject'
+ = BankAccountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | BankAccountObject'EnumTyped GHC.Base.String
+ | BankAccountObject'EnumStringBankAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BankAccountObject'
+ where toJSON (BankAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BankAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (BankAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account"
+instance Data.Aeson.FromJSON BankAccountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account")
+ then BankAccountObject'EnumStringBankAccount
+ else BankAccountObject'EnumOther val)
+-- | Defines the data type for the schema billing_details
+--
+--
+data BillingDetails = BillingDetails {
+ -- | address: Billing address.
+ billingDetailsAddress :: (GHC.Maybe.Maybe BillingDetailsAddress')
+ -- | email: Email address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: Full name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | phone: Billing phone number (including extension).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BillingDetails
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (billingDetailsAddress obj) : (Data.Aeson..=) "email" (billingDetailsEmail obj) : (Data.Aeson..=) "name" (billingDetailsName obj) : (Data.Aeson..=) "phone" (billingDetailsPhone obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (billingDetailsAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (billingDetailsEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (billingDetailsName obj) GHC.Base.<> (Data.Aeson..=) "phone" (billingDetailsPhone obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON BillingDetails
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "BillingDetails" (\obj -> (((GHC.Base.pure BillingDetails GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone"))
+-- | Defines the data type for the schema billing_detailsAddress\'
+--
+-- Billing address.
+data BillingDetailsAddress' = BillingDetailsAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ billingDetailsAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , billingDetailsAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON BillingDetailsAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (billingDetailsAddress'City obj) : (Data.Aeson..=) "country" (billingDetailsAddress'Country obj) : (Data.Aeson..=) "line1" (billingDetailsAddress'Line1 obj) : (Data.Aeson..=) "line2" (billingDetailsAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (billingDetailsAddress'PostalCode obj) : (Data.Aeson..=) "state" (billingDetailsAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (billingDetailsAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (billingDetailsAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (billingDetailsAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (billingDetailsAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (billingDetailsAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (billingDetailsAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON BillingDetailsAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "BillingDetailsAddress'" (\obj -> (((((GHC.Base.pure BillingDetailsAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Defines the data type for the schema capability
+--
+-- This is an object representing a capability for a Stripe account.
+--
+-- Related guide: [Capabilities Overview](https:\/\/stripe.com\/docs\/connect\/capabilities-overview).
+data Capability = Capability {
+ -- | account: The account for which the capability enables functionality.
+ capabilityAccount :: CapabilityAccount'Variants
+ -- | id: The identifier for the capability.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , capabilityId :: GHC.Base.String
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , capabilityObject :: CapabilityObject'
+ -- | requested: Whether the capability has been requested.
+ , capabilityRequested :: GHC.Types.Bool
+ -- | requested_at: Time at which the capability was requested. Measured in seconds since the Unix epoch.
+ , capabilityRequestedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | requirements:
+ , capabilityRequirements :: (GHC.Maybe.Maybe AccountCapabilityRequirements)
+ -- | status: The status of the capability. Can be \`active\`, \`inactive\`, \`pending\`, or \`unrequested\`.
+ , capabilityStatus :: CapabilityStatus'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Capability
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (capabilityAccount obj) : (Data.Aeson..=) "id" (capabilityId obj) : (Data.Aeson..=) "object" (capabilityObject obj) : (Data.Aeson..=) "requested" (capabilityRequested obj) : (Data.Aeson..=) "requested_at" (capabilityRequestedAt obj) : (Data.Aeson..=) "requirements" (capabilityRequirements obj) : (Data.Aeson..=) "status" (capabilityStatus obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (capabilityAccount obj) GHC.Base.<> ((Data.Aeson..=) "id" (capabilityId obj) GHC.Base.<> ((Data.Aeson..=) "object" (capabilityObject obj) GHC.Base.<> ((Data.Aeson..=) "requested" (capabilityRequested obj) GHC.Base.<> ((Data.Aeson..=) "requested_at" (capabilityRequestedAt obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (capabilityRequirements obj) GHC.Base.<> (Data.Aeson..=) "status" (capabilityStatus obj)))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Capability
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Capability" (\obj -> ((((((GHC.Base.pure Capability GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "requested")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requested_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status"))
+-- | Define the one-of schema capabilityAccount\'
+--
+-- The account for which the capability enables functionality.
+data CapabilityAccount'Variants
+ = CapabilityAccount'Account Account
+ | CapabilityAccount'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CapabilityAccount'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CapabilityAccount'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema capabilityObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CapabilityObject'
+ = CapabilityObject'EnumOther Data.Aeson.Types.Internal.Value
+ | CapabilityObject'EnumTyped GHC.Base.String
+ | CapabilityObject'EnumStringCapability
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CapabilityObject'
+ where toJSON (CapabilityObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CapabilityObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CapabilityObject'EnumStringCapability) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capability"
+instance Data.Aeson.FromJSON CapabilityObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capability")
+ then CapabilityObject'EnumStringCapability
+ else CapabilityObject'EnumOther val)
+-- | Defines the enum schema capabilityStatus\'
+--
+-- The status of the capability. Can be \`active\`, \`inactive\`, \`pending\`, or \`unrequested\`.
+data CapabilityStatus'
+ = CapabilityStatus'EnumOther Data.Aeson.Types.Internal.Value
+ | CapabilityStatus'EnumTyped GHC.Base.String
+ | CapabilityStatus'EnumStringActive
+ | CapabilityStatus'EnumStringDisabled
+ | CapabilityStatus'EnumStringInactive
+ | CapabilityStatus'EnumStringPending
+ | CapabilityStatus'EnumStringUnrequested
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CapabilityStatus'
+ where toJSON (CapabilityStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CapabilityStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CapabilityStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active"
+ toJSON (CapabilityStatus'EnumStringDisabled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disabled"
+ toJSON (CapabilityStatus'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive"
+ toJSON (CapabilityStatus'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending"
+ toJSON (CapabilityStatus'EnumStringUnrequested) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unrequested"
+instance Data.Aeson.FromJSON CapabilityStatus'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active")
+ then CapabilityStatus'EnumStringActive
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disabled")
+ then CapabilityStatus'EnumStringDisabled
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive")
+ then CapabilityStatus'EnumStringInactive
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending")
+ then CapabilityStatus'EnumStringPending
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unrequested")
+ then CapabilityStatus'EnumStringUnrequested
+ else CapabilityStatus'EnumOther val)
+-- | Defines the data type for the schema card
+--
+-- You can store multiple cards on a customer in order to charge the customer
+-- later. You can also store multiple debit cards on a recipient in order to
+-- transfer to those cards later.
+--
+-- Related guide: [Card Payments with Sources](https:\/\/stripe.com\/docs\/sources\/cards).
+data Card = Card {
+ -- | account: The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.
+ cardAccount :: (GHC.Maybe.Maybe CardAccount'Variants)
+ -- | address_city: City\/District\/Suburb\/Town\/Village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressCity :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_country: Billing address country, if provided when creating card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_state: State\/County\/Province\/Region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressState :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressZip :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardAddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer.
+ , cardAvailablePayoutMethods :: (GHC.Maybe.Maybe ([] CardAvailablePayoutMethods'))
+ -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardBrand :: GHC.Base.String
+ -- | country: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you\'ve collected.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | currency
+ , cardCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.
+ , cardCustomer :: (GHC.Maybe.Maybe CardCustomer'Variants)
+ -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardCvcCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_for_currency: Whether this card is the default external account for its currency.
+ , cardDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | exp_month: Two-digit number representing the card\'s expiration month.
+ , cardExpMonth :: GHC.Integer.Type.Integer
+ -- | exp_year: Four-digit number representing the card\'s expiration year.
+ , cardExpYear :: GHC.Integer.Type.Integer
+ -- | fingerprint: Uniquely identifies this particular card number. You can use this attribute to check whether two customers who\'ve signed up with you are using the same card number, for example.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardFingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardFunding :: GHC.Base.String
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardId :: GHC.Base.String
+ -- | last4: The last four digits of the card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardLast4 :: GHC.Base.String
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , cardMetadata :: CardMetadata'
+ -- | name: Cardholder name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , cardObject :: CardObject'
+ -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+ , cardRecipient :: (GHC.Maybe.Maybe CardRecipient'Variants)
+ -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , cardTokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Card
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (cardAccount obj) : (Data.Aeson..=) "address_city" (cardAddressCity obj) : (Data.Aeson..=) "address_country" (cardAddressCountry obj) : (Data.Aeson..=) "address_line1" (cardAddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (cardAddressLine1Check obj) : (Data.Aeson..=) "address_line2" (cardAddressLine2 obj) : (Data.Aeson..=) "address_state" (cardAddressState obj) : (Data.Aeson..=) "address_zip" (cardAddressZip obj) : (Data.Aeson..=) "address_zip_check" (cardAddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (cardAvailablePayoutMethods obj) : (Data.Aeson..=) "brand" (cardBrand obj) : (Data.Aeson..=) "country" (cardCountry obj) : (Data.Aeson..=) "currency" (cardCurrency obj) : (Data.Aeson..=) "customer" (cardCustomer obj) : (Data.Aeson..=) "cvc_check" (cardCvcCheck obj) : (Data.Aeson..=) "default_for_currency" (cardDefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (cardDynamicLast4 obj) : (Data.Aeson..=) "exp_month" (cardExpMonth obj) : (Data.Aeson..=) "exp_year" (cardExpYear obj) : (Data.Aeson..=) "fingerprint" (cardFingerprint obj) : (Data.Aeson..=) "funding" (cardFunding obj) : (Data.Aeson..=) "id" (cardId obj) : (Data.Aeson..=) "last4" (cardLast4 obj) : (Data.Aeson..=) "metadata" (cardMetadata obj) : (Data.Aeson..=) "name" (cardName obj) : (Data.Aeson..=) "object" (cardObject obj) : (Data.Aeson..=) "recipient" (cardRecipient obj) : (Data.Aeson..=) "tokenization_method" (cardTokenizationMethod obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (cardAccount obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (cardAddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (cardAddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (cardAddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (cardAddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (cardAddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (cardAddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (cardAddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (cardAddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (cardAvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "brand" (cardBrand obj) GHC.Base.<> ((Data.Aeson..=) "country" (cardCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (cardCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (cardCustomer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (cardCvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (cardDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (cardDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (cardExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (cardExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (cardFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (cardFunding obj) GHC.Base.<> ((Data.Aeson..=) "id" (cardId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (cardLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (cardMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (cardName obj) GHC.Base.<> ((Data.Aeson..=) "object" (cardObject obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (cardRecipient obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (cardTokenizationMethod obj))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Card
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Card" (\obj -> (((((((((((((((((((((((((((GHC.Base.pure Card GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method"))
+-- | Define the one-of schema cardAccount\'
+--
+-- The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.
+data CardAccount'Variants
+ = CardAccount'Account Account | CardAccount'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CardAccount'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CardAccount'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema cardAvailable_payout_methods\'
+--
+--
+data CardAvailablePayoutMethods'
+ = CardAvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value
+ | CardAvailablePayoutMethods'EnumTyped GHC.Base.String
+ | CardAvailablePayoutMethods'EnumStringInstant
+ | CardAvailablePayoutMethods'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CardAvailablePayoutMethods'
+ where toJSON (CardAvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CardAvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CardAvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant"
+ toJSON (CardAvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON CardAvailablePayoutMethods'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant")
+ then CardAvailablePayoutMethods'EnumStringInstant
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then CardAvailablePayoutMethods'EnumStringStandard
+ else CardAvailablePayoutMethods'EnumOther val)
+-- | Define the one-of schema cardCustomer\'
+--
+-- The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.
+data CardCustomer'Variants
+ = CardCustomer'Customer Customer
+ | CardCustomer'DeletedCustomer DeletedCustomer
+ | CardCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CardCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CardCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema cardMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data CardMetadata' = CardMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CardMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON CardMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CardMetadata'" (\obj -> GHC.Base.pure CardMetadata')
+-- | Defines the enum schema cardObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CardObject'
+ = CardObject'EnumOther Data.Aeson.Types.Internal.Value
+ | CardObject'EnumTyped GHC.Base.String
+ | CardObject'EnumStringCard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CardObject'
+ where toJSON (CardObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CardObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CardObject'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card"
+instance Data.Aeson.FromJSON CardObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card")
+ then CardObject'EnumStringCard
+ else CardObject'EnumOther val)
+-- | Define the one-of schema cardRecipient\'
+--
+-- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+data CardRecipient'Variants
+ = CardRecipient'Recipient Recipient
+ | CardRecipient'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CardRecipient'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CardRecipient'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema charge
+--
+-- To charge a credit or a debit card, you create a \`Charge\` object. You can
+-- retrieve and refund individual charges as well as list all charges. Charges
+-- are identified by a unique, random ID.
+--
+-- Related guide: [Accept a payment with the Charges API](https:\/\/stripe.com\/docs\/payments\/accept-a-payment-charges).
+data Charge = Charge {
+ -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99).
+ chargeAmount :: GHC.Integer.Type.Integer
+ -- | amount_refunded: Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).
+ , chargeAmountRefunded :: GHC.Integer.Type.Integer
+ -- | application: ID of the Connect application that created the charge.
+ , chargeApplication :: (GHC.Maybe.Maybe ChargeApplication'Variants)
+ -- | application_fee: The application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details.
+ , chargeApplicationFee :: (GHC.Maybe.Maybe ChargeApplicationFee'Variants)
+ -- | application_fee_amount: The amount of the application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details.
+ , chargeApplicationFeeAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | balance_transaction: ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).
+ , chargeBalanceTransaction :: (GHC.Maybe.Maybe ChargeBalanceTransaction'Variants)
+ -- | billing_details:
+ , chargeBillingDetails :: BillingDetails
+ -- | captured: If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
+ , chargeCaptured :: GHC.Types.Bool
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , chargeCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , chargeCurrency :: GHC.Base.String
+ -- | customer: ID of the customer this charge is for if one exists.
+ , chargeCustomer :: (GHC.Maybe.Maybe ChargeCustomer'Variants)
+ -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 40000
+ , chargeDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | disputed: Whether the charge has been disputed.
+ , chargeDisputed :: GHC.Types.Bool
+ -- | failure_code: Error code explaining reason for charge failure if available (see [the errors section](https:\/\/stripe.com\/docs\/api\#errors) for a list of codes).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeFailureCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | failure_message: Message to user further explaining reason for charge failure if available.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeFailureMessage :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | fraud_details: Information on fraud assessments for the charge.
+ , chargeFraudDetails :: (GHC.Maybe.Maybe ChargeFraudDetails')
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeId :: GHC.Base.String
+ -- | invoice: ID of the invoice this charge is for if one exists.
+ , chargeInvoice :: (GHC.Maybe.Maybe ChargeInvoice'Variants)
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , chargeLivemode :: GHC.Types.Bool
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , chargeMetadata :: ChargeMetadata'
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , chargeObject :: ChargeObject'
+ -- | on_behalf_of: The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers) for details.
+ , chargeOnBehalfOf :: (GHC.Maybe.Maybe ChargeOnBehalfOf'Variants)
+ -- | order: ID of the order this charge is for if one exists.
+ , chargeOrder :: (GHC.Maybe.Maybe ChargeOrder'Variants)
+ -- | outcome: Details about whether the payment was accepted, and why. See [understanding declines](https:\/\/stripe.com\/docs\/declines) for details.
+ , chargeOutcome :: (GHC.Maybe.Maybe ChargeOutcome')
+ -- | paid: \`true\` if the charge succeeded, or was successfully authorized for later capture.
+ , chargePaid :: GHC.Types.Bool
+ -- | payment_intent: ID of the PaymentIntent associated with this charge, if one exists.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargePaymentIntent :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | payment_method: ID of the payment method used in this charge.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargePaymentMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | payment_method_details: Details about the payment method at the time of the transaction.
+ , chargePaymentMethodDetails :: (GHC.Maybe.Maybe ChargePaymentMethodDetails')
+ -- | receipt_email: This is the email address that the receipt for this charge was sent to.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeReceiptEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | receipt_number: This is the transaction number that appears on email receipts sent for this charge. This attribute will be \`null\` until a receipt has been sent.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeReceiptNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | receipt_url: This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeReceiptUrl :: GHC.Base.String
+ -- | refunded: Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.
+ , chargeRefunded :: GHC.Types.Bool
+ -- | refunds: A list of refunds that have been applied to the charge.
+ , chargeRefunds :: ChargeRefunds'
+ -- | review: ID of the review associated with this charge if one exists.
+ , chargeReview :: (GHC.Maybe.Maybe ChargeReview'Variants)
+ -- | shipping: Shipping information for the charge.
+ , chargeShipping :: (GHC.Maybe.Maybe ChargeShipping')
+ -- | source_transfer: The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details.
+ , chargeSourceTransfer :: (GHC.Maybe.Maybe ChargeSourceTransfer'Variants)
+ -- | statement_descriptor: For card charges, use \`statement_descriptor_suffix\` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | statement_descriptor_suffix: Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeStatementDescriptorSuffix :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: The status of the payment is either \`succeeded\`, \`pending\`, or \`failed\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeStatus :: GHC.Base.String
+ -- | transfer: ID of the transfer to the \`destination\` account (only applicable if the charge was created using the \`destination\` parameter).
+ , chargeTransfer :: (GHC.Maybe.Maybe ChargeTransfer'Variants)
+ -- | transfer_data: An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details.
+ , chargeTransferData :: (GHC.Maybe.Maybe ChargeTransferData')
+ -- | transfer_group: A string that identifies this transaction as part of a group. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers\#transfer-options) for details.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeTransferGroup :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Charge
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeAmount obj) : (Data.Aeson..=) "amount_refunded" (chargeAmountRefunded obj) : (Data.Aeson..=) "application" (chargeApplication obj) : (Data.Aeson..=) "application_fee" (chargeApplicationFee obj) : (Data.Aeson..=) "application_fee_amount" (chargeApplicationFeeAmount obj) : (Data.Aeson..=) "balance_transaction" (chargeBalanceTransaction obj) : (Data.Aeson..=) "billing_details" (chargeBillingDetails obj) : (Data.Aeson..=) "captured" (chargeCaptured obj) : (Data.Aeson..=) "created" (chargeCreated obj) : (Data.Aeson..=) "currency" (chargeCurrency obj) : (Data.Aeson..=) "customer" (chargeCustomer obj) : (Data.Aeson..=) "description" (chargeDescription obj) : (Data.Aeson..=) "disputed" (chargeDisputed obj) : (Data.Aeson..=) "failure_code" (chargeFailureCode obj) : (Data.Aeson..=) "failure_message" (chargeFailureMessage obj) : (Data.Aeson..=) "fraud_details" (chargeFraudDetails obj) : (Data.Aeson..=) "id" (chargeId obj) : (Data.Aeson..=) "invoice" (chargeInvoice obj) : (Data.Aeson..=) "livemode" (chargeLivemode obj) : (Data.Aeson..=) "metadata" (chargeMetadata obj) : (Data.Aeson..=) "object" (chargeObject obj) : (Data.Aeson..=) "on_behalf_of" (chargeOnBehalfOf obj) : (Data.Aeson..=) "order" (chargeOrder obj) : (Data.Aeson..=) "outcome" (chargeOutcome obj) : (Data.Aeson..=) "paid" (chargePaid obj) : (Data.Aeson..=) "payment_intent" (chargePaymentIntent obj) : (Data.Aeson..=) "payment_method" (chargePaymentMethod obj) : (Data.Aeson..=) "payment_method_details" (chargePaymentMethodDetails obj) : (Data.Aeson..=) "receipt_email" (chargeReceiptEmail obj) : (Data.Aeson..=) "receipt_number" (chargeReceiptNumber obj) : (Data.Aeson..=) "receipt_url" (chargeReceiptUrl obj) : (Data.Aeson..=) "refunded" (chargeRefunded obj) : (Data.Aeson..=) "refunds" (chargeRefunds obj) : (Data.Aeson..=) "review" (chargeReview obj) : (Data.Aeson..=) "shipping" (chargeShipping obj) : (Data.Aeson..=) "source_transfer" (chargeSourceTransfer obj) : (Data.Aeson..=) "statement_descriptor" (chargeStatementDescriptor obj) : (Data.Aeson..=) "statement_descriptor_suffix" (chargeStatementDescriptorSuffix obj) : (Data.Aeson..=) "status" (chargeStatus obj) : (Data.Aeson..=) "transfer" (chargeTransfer obj) : (Data.Aeson..=) "transfer_data" (chargeTransferData obj) : (Data.Aeson..=) "transfer_group" (chargeTransferGroup obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_refunded" (chargeAmountRefunded obj) GHC.Base.<> ((Data.Aeson..=) "application" (chargeApplication obj) GHC.Base.<> ((Data.Aeson..=) "application_fee" (chargeApplicationFee obj) GHC.Base.<> ((Data.Aeson..=) "application_fee_amount" (chargeApplicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (chargeBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "billing_details" (chargeBillingDetails obj) GHC.Base.<> ((Data.Aeson..=) "captured" (chargeCaptured obj) GHC.Base.<> ((Data.Aeson..=) "created" (chargeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (chargeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (chargeCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (chargeDescription obj) GHC.Base.<> ((Data.Aeson..=) "disputed" (chargeDisputed obj) GHC.Base.<> ((Data.Aeson..=) "failure_code" (chargeFailureCode obj) GHC.Base.<> ((Data.Aeson..=) "failure_message" (chargeFailureMessage obj) GHC.Base.<> ((Data.Aeson..=) "fraud_details" (chargeFraudDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (chargeId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (chargeInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (chargeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (chargeMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (chargeObject obj) GHC.Base.<> ((Data.Aeson..=) "on_behalf_of" (chargeOnBehalfOf obj) GHC.Base.<> ((Data.Aeson..=) "order" (chargeOrder obj) GHC.Base.<> ((Data.Aeson..=) "outcome" (chargeOutcome obj) GHC.Base.<> ((Data.Aeson..=) "paid" (chargePaid obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (chargePaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (chargePaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_details" (chargePaymentMethodDetails obj) GHC.Base.<> ((Data.Aeson..=) "receipt_email" (chargeReceiptEmail obj) GHC.Base.<> ((Data.Aeson..=) "receipt_number" (chargeReceiptNumber obj) GHC.Base.<> ((Data.Aeson..=) "receipt_url" (chargeReceiptUrl obj) GHC.Base.<> ((Data.Aeson..=) "refunded" (chargeRefunded obj) GHC.Base.<> ((Data.Aeson..=) "refunds" (chargeRefunds obj) GHC.Base.<> ((Data.Aeson..=) "review" (chargeReview obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (chargeShipping obj) GHC.Base.<> ((Data.Aeson..=) "source_transfer" (chargeSourceTransfer obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (chargeStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor_suffix" (chargeStatementDescriptorSuffix obj) GHC.Base.<> ((Data.Aeson..=) "status" (chargeStatus obj) GHC.Base.<> ((Data.Aeson..=) "transfer" (chargeTransfer obj) GHC.Base.<> ((Data.Aeson..=) "transfer_data" (chargeTransferData obj) GHC.Base.<> (Data.Aeson..=) "transfer_group" (chargeTransferGroup obj))))))))))))))))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Charge
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Charge" (\obj -> (((((((((((((((((((((((((((((((((((((((((GHC.Base.pure Charge GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "billing_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "captured")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "disputed")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fraud_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "on_behalf_of")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "outcome")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "paid")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "receipt_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "review")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor_suffix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group"))
+-- | Define the one-of schema chargeApplication\'
+--
+-- ID of the Connect application that created the charge.
+data ChargeApplication'Variants
+ = ChargeApplication'Application Application
+ | ChargeApplication'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeApplication'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeApplication'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema chargeApplication_fee\'
+--
+-- The application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details.
+data ChargeApplicationFee'Variants
+ = ChargeApplicationFee'ApplicationFee ApplicationFee
+ | ChargeApplicationFee'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeApplicationFee'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeApplicationFee'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema chargeBalance_transaction\'
+--
+-- ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).
+data ChargeBalanceTransaction'Variants
+ = ChargeBalanceTransaction'BalanceTransaction BalanceTransaction
+ | ChargeBalanceTransaction'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeBalanceTransaction'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeBalanceTransaction'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema chargeCustomer\'
+--
+-- ID of the customer this charge is for if one exists.
+data ChargeCustomer'Variants
+ = ChargeCustomer'Customer Customer
+ | ChargeCustomer'DeletedCustomer DeletedCustomer
+ | ChargeCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargeFraud_details\'
+--
+-- Information on fraud assessments for the charge.
+data ChargeFraudDetails' = ChargeFraudDetails' {
+ -- | stripe_report: Assessments from Stripe. If set, the value is \`fraudulent\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ chargeFraudDetails'StripeReport :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | user_report: Assessments reported by you. If set, possible values of are \`safe\` and \`fraudulent\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeFraudDetails'UserReport :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeFraudDetails'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "stripe_report" (chargeFraudDetails'StripeReport obj) : (Data.Aeson..=) "user_report" (chargeFraudDetails'UserReport obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "stripe_report" (chargeFraudDetails'StripeReport obj) GHC.Base.<> (Data.Aeson..=) "user_report" (chargeFraudDetails'UserReport obj))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeFraudDetails'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeFraudDetails'" (\obj -> (GHC.Base.pure ChargeFraudDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_report")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "user_report"))
+-- | Define the one-of schema chargeInvoice\'
+--
+-- ID of the invoice this charge is for if one exists.
+data ChargeInvoice'Variants
+ = ChargeInvoice'Invoice Invoice
+ | ChargeInvoice'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeInvoice'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeInvoice'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargeMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data ChargeMetadata' = ChargeMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeMetadata'" (\obj -> GHC.Base.pure ChargeMetadata')
+-- | Defines the enum schema chargeObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data ChargeObject'
+ = ChargeObject'EnumOther Data.Aeson.Types.Internal.Value
+ | ChargeObject'EnumTyped GHC.Base.String
+ | ChargeObject'EnumStringCharge
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeObject'
+ where toJSON (ChargeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ChargeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ChargeObject'EnumStringCharge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge"
+instance Data.Aeson.FromJSON ChargeObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge")
+ then ChargeObject'EnumStringCharge
+ else ChargeObject'EnumOther val)
+-- | Define the one-of schema chargeOn_behalf_of\'
+--
+-- The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers) for details.
+data ChargeOnBehalfOf'Variants
+ = ChargeOnBehalfOf'Account Account
+ | ChargeOnBehalfOf'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeOnBehalfOf'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeOnBehalfOf'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema chargeOrder\'
+--
+-- ID of the order this charge is for if one exists.
+data ChargeOrder'Variants
+ = ChargeOrder'Order Order | ChargeOrder'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeOrder'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeOrder'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargeOutcome\'
+--
+-- Details about whether the payment was accepted, and why. See [understanding declines](https:\\\/\\\/stripe.com\\\/docs\\\/declines) for details.
+data ChargeOutcome' = ChargeOutcome' {
+ -- | network_status: Possible values are \`approved_by_network\`, \`declined_by_network\`, \`not_sent_to_network\`, and \`reversed_after_approval\`. The value \`reversed_after_approval\` indicates the payment was [blocked by Stripe](https:\/\/stripe.com\/docs\/declines\#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder\'s statement.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ chargeOutcome'NetworkStatus :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | reason: An enumerated value providing a more detailed explanation of the outcome\'s \`type\`. Charges blocked by Radar\'s default block rule have the value \`highest_risk_level\`. Charges placed in review by Radar\'s default review rule have the value \`elevated_risk_level\`. Charges authorized, blocked, or placed in review by custom rules have the value \`rule\`. See [understanding declines](https:\/\/stripe.com\/docs\/declines) for more details.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeOutcome'Reason :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | risk_level: Stripe\'s evaluation of the riskiness of the payment. Possible values for evaluated payments are \`normal\`, \`elevated\`, \`highest\`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value \`not_assessed\`. In the event of an error in the evaluation, this field will have the value \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeOutcome'RiskLevel :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | risk_score: Stripe\'s evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams.
+ , chargeOutcome'RiskScore :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | rule: The ID of the Radar rule that matched the payment, if applicable.
+ , chargeOutcome'Rule :: (GHC.Maybe.Maybe ChargeOutcome'Rule'Variants)
+ -- | seller_message: A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeOutcome'SellerMessage :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | type: Possible values are \`authorized\`, \`manual_review\`, \`issuer_declined\`, \`blocked\`, and \`invalid\`. See [understanding declines](https:\/\/stripe.com\/docs\/declines) and [Radar reviews](https:\/\/stripe.com\/docs\/radar\/reviews) for details.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeOutcome'Type :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeOutcome'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "network_status" (chargeOutcome'NetworkStatus obj) : (Data.Aeson..=) "reason" (chargeOutcome'Reason obj) : (Data.Aeson..=) "risk_level" (chargeOutcome'RiskLevel obj) : (Data.Aeson..=) "risk_score" (chargeOutcome'RiskScore obj) : (Data.Aeson..=) "rule" (chargeOutcome'Rule obj) : (Data.Aeson..=) "seller_message" (chargeOutcome'SellerMessage obj) : (Data.Aeson..=) "type" (chargeOutcome'Type obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "network_status" (chargeOutcome'NetworkStatus obj) GHC.Base.<> ((Data.Aeson..=) "reason" (chargeOutcome'Reason obj) GHC.Base.<> ((Data.Aeson..=) "risk_level" (chargeOutcome'RiskLevel obj) GHC.Base.<> ((Data.Aeson..=) "risk_score" (chargeOutcome'RiskScore obj) GHC.Base.<> ((Data.Aeson..=) "rule" (chargeOutcome'Rule obj) GHC.Base.<> ((Data.Aeson..=) "seller_message" (chargeOutcome'SellerMessage obj) GHC.Base.<> (Data.Aeson..=) "type" (chargeOutcome'Type obj)))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeOutcome'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeOutcome'" (\obj -> ((((((GHC.Base.pure ChargeOutcome' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "network_status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "risk_level")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "risk_score")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "rule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "seller_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type"))
+-- | Define the one-of schema chargeOutcome\'Rule\'
+--
+-- The ID of the Radar rule that matched the payment, if applicable.
+data ChargeOutcome'Rule'Variants
+ = ChargeOutcome'Rule'Rule Rule
+ | ChargeOutcome'Rule'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeOutcome'Rule'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeOutcome'Rule'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargePayment_method_details\'
+--
+-- Details about the payment method at the time of the transaction.
+data ChargePaymentMethodDetails' = ChargePaymentMethodDetails' {
+ -- | ach_credit_transfer:
+ chargePaymentMethodDetails'AchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer)
+ -- | ach_debit:
+ , chargePaymentMethodDetails'AchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit)
+ -- | alipay:
+ , chargePaymentMethodDetails'Alipay :: (GHC.Maybe.Maybe PaymentMethodDetailsAlipay)
+ -- | bancontact:
+ , chargePaymentMethodDetails'Bancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact)
+ -- | card:
+ , chargePaymentMethodDetails'Card :: (GHC.Maybe.Maybe PaymentMethodDetailsCard)
+ -- | card_present:
+ , chargePaymentMethodDetails'CardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent)
+ -- | eps:
+ , chargePaymentMethodDetails'Eps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps)
+ -- | fpx:
+ , chargePaymentMethodDetails'Fpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx)
+ -- | giropay:
+ , chargePaymentMethodDetails'Giropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay)
+ -- | ideal:
+ , chargePaymentMethodDetails'Ideal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal)
+ -- | klarna:
+ , chargePaymentMethodDetails'Klarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna)
+ -- | multibanco:
+ , chargePaymentMethodDetails'Multibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco)
+ -- | p24:
+ , chargePaymentMethodDetails'P24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24)
+ -- | sepa_debit:
+ , chargePaymentMethodDetails'SepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit)
+ -- | sofort:
+ , chargePaymentMethodDetails'Sofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort)
+ -- | stripe_account:
+ , chargePaymentMethodDetails'StripeAccount :: (GHC.Maybe.Maybe PaymentMethodDetailsStripeAccount)
+ -- | type: The type of transaction-specific details of the payment method used in the payment, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`klarna\`, \`multibanco\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`stripe_account\`, or \`wechat\`.
+ -- An additional hash is included on \`payment_method_details\` with a name matching this value.
+ -- It contains information specific to the payment method.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargePaymentMethodDetails'Type :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | wechat:
+ , chargePaymentMethodDetails'Wechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargePaymentMethodDetails'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (chargePaymentMethodDetails'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (chargePaymentMethodDetails'AchDebit obj) : (Data.Aeson..=) "alipay" (chargePaymentMethodDetails'Alipay obj) : (Data.Aeson..=) "bancontact" (chargePaymentMethodDetails'Bancontact obj) : (Data.Aeson..=) "card" (chargePaymentMethodDetails'Card obj) : (Data.Aeson..=) "card_present" (chargePaymentMethodDetails'CardPresent obj) : (Data.Aeson..=) "eps" (chargePaymentMethodDetails'Eps obj) : (Data.Aeson..=) "fpx" (chargePaymentMethodDetails'Fpx obj) : (Data.Aeson..=) "giropay" (chargePaymentMethodDetails'Giropay obj) : (Data.Aeson..=) "ideal" (chargePaymentMethodDetails'Ideal obj) : (Data.Aeson..=) "klarna" (chargePaymentMethodDetails'Klarna obj) : (Data.Aeson..=) "multibanco" (chargePaymentMethodDetails'Multibanco obj) : (Data.Aeson..=) "p24" (chargePaymentMethodDetails'P24 obj) : (Data.Aeson..=) "sepa_debit" (chargePaymentMethodDetails'SepaDebit obj) : (Data.Aeson..=) "sofort" (chargePaymentMethodDetails'Sofort obj) : (Data.Aeson..=) "stripe_account" (chargePaymentMethodDetails'StripeAccount obj) : (Data.Aeson..=) "type" (chargePaymentMethodDetails'Type obj) : (Data.Aeson..=) "wechat" (chargePaymentMethodDetails'Wechat obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (chargePaymentMethodDetails'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (chargePaymentMethodDetails'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (chargePaymentMethodDetails'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (chargePaymentMethodDetails'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (chargePaymentMethodDetails'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (chargePaymentMethodDetails'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "eps" (chargePaymentMethodDetails'Eps obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (chargePaymentMethodDetails'Fpx obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (chargePaymentMethodDetails'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (chargePaymentMethodDetails'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (chargePaymentMethodDetails'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (chargePaymentMethodDetails'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "p24" (chargePaymentMethodDetails'P24 obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (chargePaymentMethodDetails'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (chargePaymentMethodDetails'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "stripe_account" (chargePaymentMethodDetails'StripeAccount obj) GHC.Base.<> ((Data.Aeson..=) "type" (chargePaymentMethodDetails'Type obj) GHC.Base.<> (Data.Aeson..=) "wechat" (chargePaymentMethodDetails'Wechat obj))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargePaymentMethodDetails'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargePaymentMethodDetails'" (\obj -> (((((((((((((((((GHC.Base.pure ChargePaymentMethodDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat"))
+-- | Defines the data type for the schema chargeRefunds\'
+--
+-- A list of refunds that have been applied to the charge.
+data ChargeRefunds' = ChargeRefunds' {
+ -- | data: Details about each object.
+ chargeRefunds'Data :: ([] Refund)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , chargeRefunds'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , chargeRefunds'Object :: ChargeRefunds'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeRefunds'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeRefunds'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (chargeRefunds'Data obj) : (Data.Aeson..=) "has_more" (chargeRefunds'HasMore obj) : (Data.Aeson..=) "object" (chargeRefunds'Object obj) : (Data.Aeson..=) "url" (chargeRefunds'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (chargeRefunds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (chargeRefunds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (chargeRefunds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (chargeRefunds'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeRefunds'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeRefunds'" (\obj -> (((GHC.Base.pure ChargeRefunds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema chargeRefunds\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data ChargeRefunds'Object'
+ = ChargeRefunds'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | ChargeRefunds'Object'EnumTyped GHC.Base.String
+ | ChargeRefunds'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeRefunds'Object'
+ where toJSON (ChargeRefunds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ChargeRefunds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ChargeRefunds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON ChargeRefunds'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then ChargeRefunds'Object'EnumStringList
+ else ChargeRefunds'Object'EnumOther val)
+-- | Define the one-of schema chargeReview\'
+--
+-- ID of the review associated with this charge if one exists.
+data ChargeReview'Variants
+ = ChargeReview'Review Review | ChargeReview'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeReview'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeReview'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargeShipping\'
+--
+-- Shipping information for the charge.
+data ChargeShipping' = ChargeShipping' {
+ -- | address:
+ chargeShipping'Address :: (GHC.Maybe.Maybe Address)
+ -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: Recipient name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | phone: Recipient phone (including extension).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , chargeShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeShipping'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (chargeShipping'Address obj) : (Data.Aeson..=) "carrier" (chargeShipping'Carrier obj) : (Data.Aeson..=) "name" (chargeShipping'Name obj) : (Data.Aeson..=) "phone" (chargeShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (chargeShipping'TrackingNumber obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (chargeShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (chargeShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (chargeShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (chargeShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (chargeShipping'TrackingNumber obj)))))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeShipping'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeShipping'" (\obj -> ((((GHC.Base.pure ChargeShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number"))
+-- | Define the one-of schema chargeSource_transfer\'
+--
+-- The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details.
+data ChargeSourceTransfer'Variants
+ = ChargeSourceTransfer'Transfer Transfer
+ | ChargeSourceTransfer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeSourceTransfer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeSourceTransfer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema chargeTransfer\'
+--
+-- ID of the transfer to the \`destination\` account (only applicable if the charge was created using the \`destination\` parameter).
+data ChargeTransfer'Variants
+ = ChargeTransfer'Transfer Transfer
+ | ChargeTransfer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeTransfer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeTransfer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema chargeTransfer_data\'
+--
+-- An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https:\\\/\\\/stripe.com\\\/docs\\\/connect\\\/destination-charges) for details.
+data ChargeTransferData' = ChargeTransferData' {
+ -- | amount: The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
+ chargeTransferData'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | destination: ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request.
+ , chargeTransferData'Destination :: (GHC.Maybe.Maybe ChargeTransferData'Destination'Variants)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeTransferData'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeTransferData'Amount obj) : (Data.Aeson..=) "destination" (chargeTransferData'Destination obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeTransferData'Amount obj) GHC.Base.<> (Data.Aeson..=) "destination" (chargeTransferData'Destination obj))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeTransferData'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeTransferData'" (\obj -> (GHC.Base.pure ChargeTransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination"))
+-- | Define the one-of schema chargeTransfer_data\'Destination\'
+--
+-- ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request.
+data ChargeTransferData'Destination'Variants
+ = ChargeTransferData'Destination'Account Account
+ | ChargeTransferData'Destination'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeTransferData'Destination'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeTransferData'Destination'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema charge_transfer_data
+--
+--
+data ChargeTransferData = ChargeTransferData {
+ -- | amount: The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
+ chargeTransferDataAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | destination: ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request.
+ , chargeTransferDataDestination :: ChargeTransferDataDestination'Variants
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ChargeTransferData
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeTransferDataAmount obj) : (Data.Aeson..=) "destination" (chargeTransferDataDestination obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeTransferDataAmount obj) GHC.Base.<> (Data.Aeson..=) "destination" (chargeTransferDataDestination obj))
+instance Data.Aeson.Types.FromJSON.FromJSON ChargeTransferData
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeTransferData" (\obj -> (GHC.Base.pure ChargeTransferData GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination"))
+-- | Define the one-of schema charge_transfer_dataDestination\'
+--
+-- ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request.
+data ChargeTransferDataDestination'Variants
+ = ChargeTransferDataDestination'Account Account
+ | ChargeTransferDataDestination'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ChargeTransferDataDestination'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ChargeTransferDataDestination'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema checkout.session
+--
+-- A Checkout Session represents your customer\'s session as they pay for
+-- one-time purchases or subscriptions through [Checkout](https:\/\/stripe.com\/docs\/payments\/checkout).
+-- We recommend creating a new Session each time your customer attempts to pay.
+--
+-- Once payment is successful, the Checkout Session will contain a reference
+-- to the [Customer](https:\/\/stripe.com\/docs\/api\/customers), and either the successful
+-- [PaymentIntent](https:\/\/stripe.com\/docs\/api\/payment_intents) or an active
+-- [Subscription](https:\/\/stripe.com\/docs\/api\/subscriptions).
+--
+-- You can create a Checkout Session on your server and pass its ID to the
+-- client to begin Checkout.
+--
+-- Related guide: [Checkout Server Quickstart](https:\/\/stripe.com\/docs\/payments\/checkout\/api).
+data Checkout'session = Checkout'session {
+ -- | billing_address_collection: The value (\`auto\` or \`required\`) for whether Checkout collected the
+ -- customer\'s billing address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ checkout'sessionBillingAddressCollection :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | cancel_url: The URL the customer will be directed to if they decide to cancel payment and return to your website.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkout'sessionCancelUrl :: GHC.Base.String
+ -- | client_reference_id: A unique string to reference the Checkout Session. This can be a
+ -- customer ID, a cart ID, or similar, and can be used to reconcile the
+ -- session with your internal systems.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkout'sessionClientReferenceId :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The ID of the customer for this session.
+ -- For Checkout Sessions in \`payment\` or \`subscription\` mode, Checkout
+ -- will create a new customer object based on information provided
+ -- during the session unless an existing customer was provided when
+ -- the session was created.
+ , checkout'sessionCustomer :: (GHC.Maybe.Maybe Checkout'sessionCustomer'Variants)
+ -- | customer_email: If provided, this value will be used when the Customer object is created.
+ -- If not provided, customers will be asked to enter their email address.
+ -- Use this parameter to prefill customer data if you already have an email
+ -- on file. To access information about the customer once a session is
+ -- complete, use the \`customer\` field.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkout'sessionCustomerEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | display_items: The line items, plans, or SKUs purchased by the customer.
+ , checkout'sessionDisplayItems :: (GHC.Maybe.Maybe ([] CheckoutSessionDisplayItem))
+ -- | id: Unique identifier for the object. Used to pass to \`redirectToCheckout\`
+ -- in Stripe.js.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkout'sessionId :: GHC.Base.String
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , checkout'sessionLivemode :: GHC.Types.Bool
+ -- | locale: The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used.
+ , checkout'sessionLocale :: (GHC.Maybe.Maybe Checkout'sessionLocale')
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , checkout'sessionMetadata :: (GHC.Maybe.Maybe Checkout'sessionMetadata')
+ -- | mode: The mode of the Checkout Session, one of \`payment\`, \`setup\`, or \`subscription\`.
+ , checkout'sessionMode :: (GHC.Maybe.Maybe Checkout'sessionMode')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , checkout'sessionObject :: Checkout'sessionObject'
+ -- | payment_intent: The ID of the PaymentIntent for Checkout Sessions in \`payment\` mode.
+ , checkout'sessionPaymentIntent :: (GHC.Maybe.Maybe Checkout'sessionPaymentIntent'Variants)
+ -- | payment_method_types: A list of the types of payment methods (e.g. card) this Checkout
+ -- Session is allowed to accept.
+ , checkout'sessionPaymentMethodTypes :: ([] GHC.Base.String)
+ -- | setup_intent: The ID of the SetupIntent for Checkout Sessions in \`setup\` mode.
+ , checkout'sessionSetupIntent :: (GHC.Maybe.Maybe Checkout'sessionSetupIntent'Variants)
+ -- | submit_type: Describes the type of transaction being performed by Checkout in order to customize
+ -- relevant text on the page, such as the submit button. \`submit_type\` can only be
+ -- specified on Checkout Sessions in \`payment\` mode, but not Checkout Sessions
+ -- in \`subscription\` or \`setup\` mode.
+ , checkout'sessionSubmitType :: (GHC.Maybe.Maybe Checkout'sessionSubmitType')
+ -- | subscription: The ID of the subscription for Checkout Sessions in \`subscription\` mode.
+ , checkout'sessionSubscription :: (GHC.Maybe.Maybe Checkout'sessionSubscription'Variants)
+ -- | success_url: The URL the customer will be directed to after the payment or
+ -- subscription creation is successful.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkout'sessionSuccessUrl :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'session
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address_collection" (checkout'sessionBillingAddressCollection obj) : (Data.Aeson..=) "cancel_url" (checkout'sessionCancelUrl obj) : (Data.Aeson..=) "client_reference_id" (checkout'sessionClientReferenceId obj) : (Data.Aeson..=) "customer" (checkout'sessionCustomer obj) : (Data.Aeson..=) "customer_email" (checkout'sessionCustomerEmail obj) : (Data.Aeson..=) "display_items" (checkout'sessionDisplayItems obj) : (Data.Aeson..=) "id" (checkout'sessionId obj) : (Data.Aeson..=) "livemode" (checkout'sessionLivemode obj) : (Data.Aeson..=) "locale" (checkout'sessionLocale obj) : (Data.Aeson..=) "metadata" (checkout'sessionMetadata obj) : (Data.Aeson..=) "mode" (checkout'sessionMode obj) : (Data.Aeson..=) "object" (checkout'sessionObject obj) : (Data.Aeson..=) "payment_intent" (checkout'sessionPaymentIntent obj) : (Data.Aeson..=) "payment_method_types" (checkout'sessionPaymentMethodTypes obj) : (Data.Aeson..=) "setup_intent" (checkout'sessionSetupIntent obj) : (Data.Aeson..=) "submit_type" (checkout'sessionSubmitType obj) : (Data.Aeson..=) "subscription" (checkout'sessionSubscription obj) : (Data.Aeson..=) "success_url" (checkout'sessionSuccessUrl obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address_collection" (checkout'sessionBillingAddressCollection obj) GHC.Base.<> ((Data.Aeson..=) "cancel_url" (checkout'sessionCancelUrl obj) GHC.Base.<> ((Data.Aeson..=) "client_reference_id" (checkout'sessionClientReferenceId obj) GHC.Base.<> ((Data.Aeson..=) "customer" (checkout'sessionCustomer obj) GHC.Base.<> ((Data.Aeson..=) "customer_email" (checkout'sessionCustomerEmail obj) GHC.Base.<> ((Data.Aeson..=) "display_items" (checkout'sessionDisplayItems obj) GHC.Base.<> ((Data.Aeson..=) "id" (checkout'sessionId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (checkout'sessionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "locale" (checkout'sessionLocale obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (checkout'sessionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "mode" (checkout'sessionMode obj) GHC.Base.<> ((Data.Aeson..=) "object" (checkout'sessionObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (checkout'sessionPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_types" (checkout'sessionPaymentMethodTypes obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (checkout'sessionSetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "submit_type" (checkout'sessionSubmitType obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (checkout'sessionSubscription obj) GHC.Base.<> (Data.Aeson..=) "success_url" (checkout'sessionSuccessUrl obj))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Checkout'session
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Checkout'session" (\obj -> (((((((((((((((((GHC.Base.pure Checkout'session GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address_collection")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "cancel_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_reference_id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "display_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "locale")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method_types")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "submit_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "success_url"))
+-- | Define the one-of schema checkout.sessionCustomer\'
+--
+-- The ID of the customer for this session.
+-- For Checkout Sessions in \`payment\` or \`subscription\` mode, Checkout
+-- will create a new customer object based on information provided
+-- during the session unless an existing customer was provided when
+-- the session was created.
+data Checkout'sessionCustomer'Variants
+ = Checkout'sessionCustomer'Customer Customer
+ | Checkout'sessionCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON Checkout'sessionCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON Checkout'sessionCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema checkout.sessionLocale\'
+--
+-- The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used.
+data Checkout'sessionLocale'
+ = Checkout'sessionLocale'EnumOther Data.Aeson.Types.Internal.Value
+ | Checkout'sessionLocale'EnumTyped GHC.Base.String
+ | Checkout'sessionLocale'EnumStringAuto
+ | Checkout'sessionLocale'EnumStringDa
+ | Checkout'sessionLocale'EnumStringDe
+ | Checkout'sessionLocale'EnumStringEn
+ | Checkout'sessionLocale'EnumStringEs
+ | Checkout'sessionLocale'EnumStringFi
+ | Checkout'sessionLocale'EnumStringFr
+ | Checkout'sessionLocale'EnumStringIt
+ | Checkout'sessionLocale'EnumStringJa
+ | Checkout'sessionLocale'EnumStringMs
+ | Checkout'sessionLocale'EnumStringNb
+ | Checkout'sessionLocale'EnumStringNl
+ | Checkout'sessionLocale'EnumStringPl
+ | Checkout'sessionLocale'EnumStringPt
+ | Checkout'sessionLocale'EnumStringSv
+ | Checkout'sessionLocale'EnumStringZh
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'sessionLocale'
+ where toJSON (Checkout'sessionLocale'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionLocale'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionLocale'EnumStringAuto) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto"
+ toJSON (Checkout'sessionLocale'EnumStringDa) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "da"
+ toJSON (Checkout'sessionLocale'EnumStringDe) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "de"
+ toJSON (Checkout'sessionLocale'EnumStringEn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "en"
+ toJSON (Checkout'sessionLocale'EnumStringEs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es"
+ toJSON (Checkout'sessionLocale'EnumStringFi) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fi"
+ toJSON (Checkout'sessionLocale'EnumStringFr) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fr"
+ toJSON (Checkout'sessionLocale'EnumStringIt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "it"
+ toJSON (Checkout'sessionLocale'EnumStringJa) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ja"
+ toJSON (Checkout'sessionLocale'EnumStringMs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ms"
+ toJSON (Checkout'sessionLocale'EnumStringNb) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nb"
+ toJSON (Checkout'sessionLocale'EnumStringNl) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nl"
+ toJSON (Checkout'sessionLocale'EnumStringPl) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pl"
+ toJSON (Checkout'sessionLocale'EnumStringPt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pt"
+ toJSON (Checkout'sessionLocale'EnumStringSv) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sv"
+ toJSON (Checkout'sessionLocale'EnumStringZh) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "zh"
+instance Data.Aeson.FromJSON Checkout'sessionLocale'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto")
+ then Checkout'sessionLocale'EnumStringAuto
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "da")
+ then Checkout'sessionLocale'EnumStringDa
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "de")
+ then Checkout'sessionLocale'EnumStringDe
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "en")
+ then Checkout'sessionLocale'EnumStringEn
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es")
+ then Checkout'sessionLocale'EnumStringEs
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fi")
+ then Checkout'sessionLocale'EnumStringFi
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fr")
+ then Checkout'sessionLocale'EnumStringFr
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "it")
+ then Checkout'sessionLocale'EnumStringIt
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ja")
+ then Checkout'sessionLocale'EnumStringJa
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ms")
+ then Checkout'sessionLocale'EnumStringMs
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nb")
+ then Checkout'sessionLocale'EnumStringNb
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nl")
+ then Checkout'sessionLocale'EnumStringNl
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pl")
+ then Checkout'sessionLocale'EnumStringPl
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pt")
+ then Checkout'sessionLocale'EnumStringPt
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sv")
+ then Checkout'sessionLocale'EnumStringSv
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "zh")
+ then Checkout'sessionLocale'EnumStringZh
+ else Checkout'sessionLocale'EnumOther val)
+-- | Defines the data type for the schema checkout.sessionMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data Checkout'sessionMetadata' = Checkout'sessionMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'sessionMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON Checkout'sessionMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Checkout'sessionMetadata'" (\obj -> GHC.Base.pure Checkout'sessionMetadata')
+-- | Defines the enum schema checkout.sessionMode\'
+--
+-- The mode of the Checkout Session, one of \`payment\`, \`setup\`, or \`subscription\`.
+data Checkout'sessionMode'
+ = Checkout'sessionMode'EnumOther Data.Aeson.Types.Internal.Value
+ | Checkout'sessionMode'EnumTyped GHC.Base.String
+ | Checkout'sessionMode'EnumStringPayment
+ | Checkout'sessionMode'EnumStringSetup
+ | Checkout'sessionMode'EnumStringSubscription
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'sessionMode'
+ where toJSON (Checkout'sessionMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionMode'EnumStringPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment"
+ toJSON (Checkout'sessionMode'EnumStringSetup) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup"
+ toJSON (Checkout'sessionMode'EnumStringSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription"
+instance Data.Aeson.FromJSON Checkout'sessionMode'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment")
+ then Checkout'sessionMode'EnumStringPayment
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup")
+ then Checkout'sessionMode'EnumStringSetup
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription")
+ then Checkout'sessionMode'EnumStringSubscription
+ else Checkout'sessionMode'EnumOther val)
+-- | Defines the enum schema checkout.sessionObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data Checkout'sessionObject'
+ = Checkout'sessionObject'EnumOther Data.Aeson.Types.Internal.Value
+ | Checkout'sessionObject'EnumTyped GHC.Base.String
+ | Checkout'sessionObject'EnumStringCheckout'session
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'sessionObject'
+ where toJSON (Checkout'sessionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionObject'EnumStringCheckout'session) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "checkout.session"
+instance Data.Aeson.FromJSON Checkout'sessionObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "checkout.session")
+ then Checkout'sessionObject'EnumStringCheckout'session
+ else Checkout'sessionObject'EnumOther val)
+-- | Define the one-of schema checkout.sessionPayment_intent\'
+--
+-- The ID of the PaymentIntent for Checkout Sessions in \`payment\` mode.
+data Checkout'sessionPaymentIntent'Variants
+ = Checkout'sessionPaymentIntent'PaymentIntent PaymentIntent
+ | Checkout'sessionPaymentIntent'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON Checkout'sessionPaymentIntent'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON Checkout'sessionPaymentIntent'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema checkout.sessionSetup_intent\'
+--
+-- The ID of the SetupIntent for Checkout Sessions in \`setup\` mode.
+data Checkout'sessionSetupIntent'Variants
+ = Checkout'sessionSetupIntent'SetupIntent SetupIntent
+ | Checkout'sessionSetupIntent'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON Checkout'sessionSetupIntent'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON Checkout'sessionSetupIntent'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema checkout.sessionSubmit_type\'
+--
+-- Describes the type of transaction being performed by Checkout in order to customize
+-- relevant text on the page, such as the submit button. \`submit_type\` can only be
+-- specified on Checkout Sessions in \`payment\` mode, but not Checkout Sessions
+-- in \`subscription\` or \`setup\` mode.
+data Checkout'sessionSubmitType'
+ = Checkout'sessionSubmitType'EnumOther Data.Aeson.Types.Internal.Value
+ | Checkout'sessionSubmitType'EnumTyped GHC.Base.String
+ | Checkout'sessionSubmitType'EnumStringAuto
+ | Checkout'sessionSubmitType'EnumStringBook
+ | Checkout'sessionSubmitType'EnumStringDonate
+ | Checkout'sessionSubmitType'EnumStringPay
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Checkout'sessionSubmitType'
+ where toJSON (Checkout'sessionSubmitType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionSubmitType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (Checkout'sessionSubmitType'EnumStringAuto) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto"
+ toJSON (Checkout'sessionSubmitType'EnumStringBook) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book"
+ toJSON (Checkout'sessionSubmitType'EnumStringDonate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "donate"
+ toJSON (Checkout'sessionSubmitType'EnumStringPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pay"
+instance Data.Aeson.FromJSON Checkout'sessionSubmitType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto")
+ then Checkout'sessionSubmitType'EnumStringAuto
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book")
+ then Checkout'sessionSubmitType'EnumStringBook
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "donate")
+ then Checkout'sessionSubmitType'EnumStringDonate
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pay")
+ then Checkout'sessionSubmitType'EnumStringPay
+ else Checkout'sessionSubmitType'EnumOther val)
+-- | Define the one-of schema checkout.sessionSubscription\'
+--
+-- The ID of the subscription for Checkout Sessions in \`subscription\` mode.
+data Checkout'sessionSubscription'Variants
+ = Checkout'sessionSubscription'Subscription Subscription
+ | Checkout'sessionSubscription'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON Checkout'sessionSubscription'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON Checkout'sessionSubscription'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema checkout_session_display_item
+--
+--
+data CheckoutSessionDisplayItem = CheckoutSessionDisplayItem {
+ -- | amount: Amount for the display item.
+ checkoutSessionDisplayItemAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , checkoutSessionDisplayItemCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | custom:
+ , checkoutSessionDisplayItemCustom :: (GHC.Maybe.Maybe CheckoutSessionCustomDisplayItemDescription)
+ -- | plan: Plans define the base price, currency, and billing cycle for subscriptions.
+ -- For example, you might have a \<currency>5\<\/currency>\/month plan
+ -- that provides limited access to your products, and a
+ -- \<currency>15\<\/currency>\/month plan that allows full access.
+ --
+ -- Related guide: [Managing Products and Plans](https:\/\/stripe.com\/docs\/billing\/subscriptions\/products-and-plans).
+ , checkoutSessionDisplayItemPlan :: (GHC.Maybe.Maybe Plan)
+ -- | quantity: Quantity of the display item being purchased.
+ , checkoutSessionDisplayItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | sku: Stores representations of [stock keeping units](http:\/\/en.wikipedia.org\/wiki\/Stock_keeping_unit).
+ -- SKUs describe specific product variations, taking into account any combination of: attributes,
+ -- currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents
+ -- the \`size: large\`, \`color: red\` version of that shirt.
+ --
+ -- Can also be used to manage inventory.
+ --
+ -- Related guide: [Tax, Shipping, and Inventory](https:\/\/stripe.com\/docs\/orders).
+ , checkoutSessionDisplayItemSku :: (GHC.Maybe.Maybe Sku)
+ -- | type: The type of display item. One of \`custom\`, \`plan\` or \`sku\`
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , checkoutSessionDisplayItemType :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CheckoutSessionDisplayItem
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (checkoutSessionDisplayItemAmount obj) : (Data.Aeson..=) "currency" (checkoutSessionDisplayItemCurrency obj) : (Data.Aeson..=) "custom" (checkoutSessionDisplayItemCustom obj) : (Data.Aeson..=) "plan" (checkoutSessionDisplayItemPlan obj) : (Data.Aeson..=) "quantity" (checkoutSessionDisplayItemQuantity obj) : (Data.Aeson..=) "sku" (checkoutSessionDisplayItemSku obj) : (Data.Aeson..=) "type" (checkoutSessionDisplayItemType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (checkoutSessionDisplayItemAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (checkoutSessionDisplayItemCurrency obj) GHC.Base.<> ((Data.Aeson..=) "custom" (checkoutSessionDisplayItemCustom obj) GHC.Base.<> ((Data.Aeson..=) "plan" (checkoutSessionDisplayItemPlan obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (checkoutSessionDisplayItemQuantity obj) GHC.Base.<> ((Data.Aeson..=) "sku" (checkoutSessionDisplayItemSku obj) GHC.Base.<> (Data.Aeson..=) "type" (checkoutSessionDisplayItemType obj)))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CheckoutSessionDisplayItem
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CheckoutSessionDisplayItem" (\obj -> ((((((GHC.Base.pure CheckoutSessionDisplayItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "custom")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sku")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type"))
+-- | Defines the data type for the schema connect_collection_transfer
+--
+--
+data ConnectCollectionTransfer = ConnectCollectionTransfer {
+ -- | amount: Amount transferred, in %s.
+ connectCollectionTransferAmount :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , connectCollectionTransferCurrency :: GHC.Base.String
+ -- | destination: ID of the account that funds are being collected for.
+ , connectCollectionTransferDestination :: ConnectCollectionTransferDestination'Variants
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , connectCollectionTransferId :: GHC.Base.String
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , connectCollectionTransferLivemode :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , connectCollectionTransferObject :: ConnectCollectionTransferObject'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ConnectCollectionTransfer
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (connectCollectionTransferAmount obj) : (Data.Aeson..=) "currency" (connectCollectionTransferCurrency obj) : (Data.Aeson..=) "destination" (connectCollectionTransferDestination obj) : (Data.Aeson..=) "id" (connectCollectionTransferId obj) : (Data.Aeson..=) "livemode" (connectCollectionTransferLivemode obj) : (Data.Aeson..=) "object" (connectCollectionTransferObject obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (connectCollectionTransferAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (connectCollectionTransferCurrency obj) GHC.Base.<> ((Data.Aeson..=) "destination" (connectCollectionTransferDestination obj) GHC.Base.<> ((Data.Aeson..=) "id" (connectCollectionTransferId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (connectCollectionTransferLivemode obj) GHC.Base.<> (Data.Aeson..=) "object" (connectCollectionTransferObject obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ConnectCollectionTransfer
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ConnectCollectionTransfer" (\obj -> (((((GHC.Base.pure ConnectCollectionTransfer GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object"))
+-- | Define the one-of schema connect_collection_transferDestination\'
+--
+-- ID of the account that funds are being collected for.
+data ConnectCollectionTransferDestination'Variants
+ = ConnectCollectionTransferDestination'Account Account
+ | ConnectCollectionTransferDestination'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ConnectCollectionTransferDestination'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ConnectCollectionTransferDestination'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema connect_collection_transferObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data ConnectCollectionTransferObject'
+ = ConnectCollectionTransferObject'EnumOther Data.Aeson.Types.Internal.Value
+ | ConnectCollectionTransferObject'EnumTyped GHC.Base.String
+ | ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ConnectCollectionTransferObject'
+ where toJSON (ConnectCollectionTransferObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ConnectCollectionTransferObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer"
+instance Data.Aeson.FromJSON ConnectCollectionTransferObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer")
+ then ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer
+ else ConnectCollectionTransferObject'EnumOther val)
+-- | Defines the data type for the schema credit_note
+--
+-- Issue a credit note to adjust an invoice\'s amount after the invoice is finalized.
+--
+-- Related guide: [Credit Notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes).
+data CreditNote = CreditNote {
+ -- | amount: The integer amount in **%s** representing the total amount of the credit note, including tax.
+ creditNoteAmount :: GHC.Integer.Type.Integer
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , creditNoteCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , creditNoteCurrency :: GHC.Base.String
+ -- | customer: ID of the customer.
+ , creditNoteCustomer :: CreditNoteCustomer'Variants
+ -- | customer_balance_transaction: Customer balance transaction related to this credit note.
+ , creditNoteCustomerBalanceTransaction :: (GHC.Maybe.Maybe CreditNoteCustomerBalanceTransaction'Variants)
+ -- | discount_amount: The integer amount in **%s** representing the amount of the discount that was credited.
+ , creditNoteDiscountAmount :: GHC.Integer.Type.Integer
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , creditNoteId :: GHC.Base.String
+ -- | invoice: ID of the invoice.
+ , creditNoteInvoice :: CreditNoteInvoice'Variants
+ -- | lines: Line items that make up the credit note
+ , creditNoteLines :: CreditNoteLines'
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , creditNoteLivemode :: GHC.Types.Bool
+ -- | memo: Customer-facing text that appears on the credit note PDF.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , creditNoteMemo :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , creditNoteMetadata :: CreditNoteMetadata'
+ -- | number: A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , creditNoteNumber :: GHC.Base.String
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , creditNoteObject :: CreditNoteObject'
+ -- | out_of_band_amount: Amount that was credited outside of Stripe.
+ , creditNoteOutOfBandAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | pdf: The link to download the PDF of the credit note.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , creditNotePdf :: GHC.Base.String
+ -- | reason: Reason for issuing this credit note, one of \`duplicate\`, \`fraudulent\`, \`order_change\`, or \`product_unsatisfactory\`
+ , creditNoteReason :: (GHC.Maybe.Maybe CreditNoteReason')
+ -- | refund: Refund related to this credit note.
+ , creditNoteRefund :: (GHC.Maybe.Maybe CreditNoteRefund'Variants)
+ -- | status: Status of this credit note, one of \`issued\` or \`void\`. Learn more about [voiding credit notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes\#voiding).
+ , creditNoteStatus :: CreditNoteStatus'
+ -- | subtotal: The integer amount in **%s** representing the amount of the credit note, excluding tax and discount.
+ , creditNoteSubtotal :: GHC.Integer.Type.Integer
+ -- | tax_amounts: The aggregate amounts calculated per tax rate for all line items.
+ , creditNoteTaxAmounts :: ([] CreditNoteTaxAmount)
+ -- | total: The integer amount in **%s** representing the total amount of the credit note, including tax and discount.
+ , creditNoteTotal :: GHC.Integer.Type.Integer
+ -- | type: Type of this credit note, one of \`pre_payment\` or \`post_payment\`. A \`pre_payment\` credit note means it was issued when the invoice was open. A \`post_payment\` credit note means it was issued when the invoice was paid.
+ , creditNoteType :: CreditNoteType'
+ -- | voided_at: The time that the credit note was voided.
+ , creditNoteVoidedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNote
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (creditNoteAmount obj) : (Data.Aeson..=) "created" (creditNoteCreated obj) : (Data.Aeson..=) "currency" (creditNoteCurrency obj) : (Data.Aeson..=) "customer" (creditNoteCustomer obj) : (Data.Aeson..=) "customer_balance_transaction" (creditNoteCustomerBalanceTransaction obj) : (Data.Aeson..=) "discount_amount" (creditNoteDiscountAmount obj) : (Data.Aeson..=) "id" (creditNoteId obj) : (Data.Aeson..=) "invoice" (creditNoteInvoice obj) : (Data.Aeson..=) "lines" (creditNoteLines obj) : (Data.Aeson..=) "livemode" (creditNoteLivemode obj) : (Data.Aeson..=) "memo" (creditNoteMemo obj) : (Data.Aeson..=) "metadata" (creditNoteMetadata obj) : (Data.Aeson..=) "number" (creditNoteNumber obj) : (Data.Aeson..=) "object" (creditNoteObject obj) : (Data.Aeson..=) "out_of_band_amount" (creditNoteOutOfBandAmount obj) : (Data.Aeson..=) "pdf" (creditNotePdf obj) : (Data.Aeson..=) "reason" (creditNoteReason obj) : (Data.Aeson..=) "refund" (creditNoteRefund obj) : (Data.Aeson..=) "status" (creditNoteStatus obj) : (Data.Aeson..=) "subtotal" (creditNoteSubtotal obj) : (Data.Aeson..=) "tax_amounts" (creditNoteTaxAmounts obj) : (Data.Aeson..=) "total" (creditNoteTotal obj) : (Data.Aeson..=) "type" (creditNoteType obj) : (Data.Aeson..=) "voided_at" (creditNoteVoidedAt obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (creditNoteAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (creditNoteCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (creditNoteCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (creditNoteCustomer obj) GHC.Base.<> ((Data.Aeson..=) "customer_balance_transaction" (creditNoteCustomerBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "discount_amount" (creditNoteDiscountAmount obj) GHC.Base.<> ((Data.Aeson..=) "id" (creditNoteId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (creditNoteInvoice obj) GHC.Base.<> ((Data.Aeson..=) "lines" (creditNoteLines obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (creditNoteLivemode obj) GHC.Base.<> ((Data.Aeson..=) "memo" (creditNoteMemo obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (creditNoteMetadata obj) GHC.Base.<> ((Data.Aeson..=) "number" (creditNoteNumber obj) GHC.Base.<> ((Data.Aeson..=) "object" (creditNoteObject obj) GHC.Base.<> ((Data.Aeson..=) "out_of_band_amount" (creditNoteOutOfBandAmount obj) GHC.Base.<> ((Data.Aeson..=) "pdf" (creditNotePdf obj) GHC.Base.<> ((Data.Aeson..=) "reason" (creditNoteReason obj) GHC.Base.<> ((Data.Aeson..=) "refund" (creditNoteRefund obj) GHC.Base.<> ((Data.Aeson..=) "status" (creditNoteStatus obj) GHC.Base.<> ((Data.Aeson..=) "subtotal" (creditNoteSubtotal obj) GHC.Base.<> ((Data.Aeson..=) "tax_amounts" (creditNoteTaxAmounts obj) GHC.Base.<> ((Data.Aeson..=) "total" (creditNoteTotal obj) GHC.Base.<> ((Data.Aeson..=) "type" (creditNoteType obj) GHC.Base.<> (Data.Aeson..=) "voided_at" (creditNoteVoidedAt obj))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CreditNote
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNote" (\obj -> (((((((((((((((((((((((GHC.Base.pure CreditNote GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "discount_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "lines")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "memo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "out_of_band_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pdf")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "subtotal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "tax_amounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "total")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "voided_at"))
+-- | Define the one-of schema credit_noteCustomer\'
+--
+-- ID of the customer.
+data CreditNoteCustomer'Variants
+ = CreditNoteCustomer'Customer Customer
+ | CreditNoteCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CreditNoteCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CreditNoteCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema credit_noteCustomer_balance_transaction\'
+--
+-- Customer balance transaction related to this credit note.
+data CreditNoteCustomerBalanceTransaction'Variants
+ = CreditNoteCustomerBalanceTransaction'CustomerBalanceTransaction CustomerBalanceTransaction
+ | CreditNoteCustomerBalanceTransaction'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CreditNoteCustomerBalanceTransaction'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CreditNoteCustomerBalanceTransaction'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema credit_noteInvoice\'
+--
+-- ID of the invoice.
+data CreditNoteInvoice'Variants
+ = CreditNoteInvoice'Invoice Invoice
+ | CreditNoteInvoice'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CreditNoteInvoice'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CreditNoteInvoice'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema credit_noteLines\'
+--
+-- Line items that make up the credit note
+data CreditNoteLines' = CreditNoteLines' {
+ -- | data: Details about each object.
+ creditNoteLines'Data :: ([] CreditNoteLineItem)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , creditNoteLines'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , creditNoteLines'Object :: CreditNoteLines'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , creditNoteLines'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteLines'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (creditNoteLines'Data obj) : (Data.Aeson..=) "has_more" (creditNoteLines'HasMore obj) : (Data.Aeson..=) "object" (creditNoteLines'Object obj) : (Data.Aeson..=) "url" (creditNoteLines'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (creditNoteLines'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (creditNoteLines'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (creditNoteLines'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (creditNoteLines'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON CreditNoteLines'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNoteLines'" (\obj -> (((GHC.Base.pure CreditNoteLines' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema credit_noteLines\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data CreditNoteLines'Object'
+ = CreditNoteLines'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CreditNoteLines'Object'EnumTyped GHC.Base.String
+ | CreditNoteLines'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteLines'Object'
+ where toJSON (CreditNoteLines'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteLines'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteLines'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON CreditNoteLines'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then CreditNoteLines'Object'EnumStringList
+ else CreditNoteLines'Object'EnumOther val)
+-- | Defines the data type for the schema credit_noteMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data CreditNoteMetadata' = CreditNoteMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON CreditNoteMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNoteMetadata'" (\obj -> GHC.Base.pure CreditNoteMetadata')
+-- | Defines the enum schema credit_noteObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CreditNoteObject'
+ = CreditNoteObject'EnumOther Data.Aeson.Types.Internal.Value
+ | CreditNoteObject'EnumTyped GHC.Base.String
+ | CreditNoteObject'EnumStringCreditNote
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteObject'
+ where toJSON (CreditNoteObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteObject'EnumStringCreditNote) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note"
+instance Data.Aeson.FromJSON CreditNoteObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note")
+ then CreditNoteObject'EnumStringCreditNote
+ else CreditNoteObject'EnumOther val)
+-- | Defines the enum schema credit_noteReason\'
+--
+-- Reason for issuing this credit note, one of \`duplicate\`, \`fraudulent\`, \`order_change\`, or \`product_unsatisfactory\`
+data CreditNoteReason'
+ = CreditNoteReason'EnumOther Data.Aeson.Types.Internal.Value
+ | CreditNoteReason'EnumTyped GHC.Base.String
+ | CreditNoteReason'EnumStringDuplicate
+ | CreditNoteReason'EnumStringFraudulent
+ | CreditNoteReason'EnumStringOrderChange
+ | CreditNoteReason'EnumStringProductUnsatisfactory
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteReason'
+ where toJSON (CreditNoteReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteReason'EnumStringDuplicate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate"
+ toJSON (CreditNoteReason'EnumStringFraudulent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent"
+ toJSON (CreditNoteReason'EnumStringOrderChange) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_change"
+ toJSON (CreditNoteReason'EnumStringProductUnsatisfactory) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product_unsatisfactory"
+instance Data.Aeson.FromJSON CreditNoteReason'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate")
+ then CreditNoteReason'EnumStringDuplicate
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent")
+ then CreditNoteReason'EnumStringFraudulent
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_change")
+ then CreditNoteReason'EnumStringOrderChange
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product_unsatisfactory")
+ then CreditNoteReason'EnumStringProductUnsatisfactory
+ else CreditNoteReason'EnumOther val)
+-- | Define the one-of schema credit_noteRefund\'
+--
+-- Refund related to this credit note.
+data CreditNoteRefund'Variants
+ = CreditNoteRefund'Refund Refund
+ | CreditNoteRefund'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CreditNoteRefund'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CreditNoteRefund'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema credit_noteStatus\'
+--
+-- Status of this credit note, one of \`issued\` or \`void\`. Learn more about [voiding credit notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes\#voiding).
+data CreditNoteStatus'
+ = CreditNoteStatus'EnumOther Data.Aeson.Types.Internal.Value
+ | CreditNoteStatus'EnumTyped GHC.Base.String
+ | CreditNoteStatus'EnumStringIssued
+ | CreditNoteStatus'EnumStringVoid
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteStatus'
+ where toJSON (CreditNoteStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteStatus'EnumStringIssued) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issued"
+ toJSON (CreditNoteStatus'EnumStringVoid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void"
+instance Data.Aeson.FromJSON CreditNoteStatus'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issued")
+ then CreditNoteStatus'EnumStringIssued
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void")
+ then CreditNoteStatus'EnumStringVoid
+ else CreditNoteStatus'EnumOther val)
+-- | Defines the enum schema credit_noteType\'
+--
+-- Type of this credit note, one of \`pre_payment\` or \`post_payment\`. A \`pre_payment\` credit note means it was issued when the invoice was open. A \`post_payment\` credit note means it was issued when the invoice was paid.
+data CreditNoteType'
+ = CreditNoteType'EnumOther Data.Aeson.Types.Internal.Value
+ | CreditNoteType'EnumTyped GHC.Base.String
+ | CreditNoteType'EnumStringPostPayment
+ | CreditNoteType'EnumStringPrePayment
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CreditNoteType'
+ where toJSON (CreditNoteType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CreditNoteType'EnumStringPostPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "post_payment"
+ toJSON (CreditNoteType'EnumStringPrePayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pre_payment"
+instance Data.Aeson.FromJSON CreditNoteType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "post_payment")
+ then CreditNoteType'EnumStringPostPayment
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pre_payment")
+ then CreditNoteType'EnumStringPrePayment
+ else CreditNoteType'EnumOther val)
+-- | Defines the data type for the schema customer
+--
+-- \`Customer\` objects allow you to perform recurring charges, and to track
+-- multiple charges, that are associated with the same customer. The API allows
+-- you to create, delete, and update your customers. You can retrieve individual
+-- customers as well as a list of all your customers.
+--
+-- Related guide: [Saving Cards with Customers](https:\/\/stripe.com\/docs\/saving-cards).
+data Customer = Customer {
+ -- | address: The customer\'s address.
+ customerAddress :: (GHC.Maybe.Maybe CustomerAddress')
+ -- | balance: Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
+ , customerBalance :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , customerCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/currencies) the customer can be charged in for recurring billing purposes.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_source: ID of the default payment source for the customer.
+ --
+ -- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead.
+ , customerDefaultSource :: (GHC.Maybe.Maybe CustomerDefaultSource'Variants)
+ -- | delinquent: When the customer\'s latest invoice is billed by charging automatically, delinquent is true if the invoice\'s latest charge is failed. When the customer\'s latest invoice is billed by sending an invoice, delinquent is true if the invoice is not paid by its due date.
+ , customerDelinquent :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | discount: Describes the current discount active on the customer, if there is one.
+ , customerDiscount :: (GHC.Maybe.Maybe CustomerDiscount')
+ -- | email: The customer\'s email address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerId :: GHC.Base.String
+ -- | invoice_prefix: The prefix for the customer used to generate unique invoice numbers.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerInvoicePrefix :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | invoice_settings:
+ , customerInvoiceSettings :: (GHC.Maybe.Maybe InvoiceSettingCustomerSetting)
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , customerLivemode :: GHC.Types.Bool
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , customerMetadata :: (GHC.Maybe.Maybe CustomerMetadata')
+ -- | name: The customer\'s full name or business name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | next_invoice_sequence: The suffix of the customer\'s next invoice number, e.g., 0001.
+ , customerNextInvoiceSequence :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , customerObject :: CustomerObject'
+ -- | phone: The customer\'s phone number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | preferred_locales: The customer\'s preferred locales (languages), ordered by preference.
+ , customerPreferredLocales :: (GHC.Maybe.Maybe ([] GHC.Base.String))
+ -- | shipping: Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
+ , customerShipping :: (GHC.Maybe.Maybe CustomerShipping')
+ -- | sources: The customer\'s payment sources, if any.
+ , customerSources :: CustomerSources'
+ -- | subscriptions: The customer\'s current subscriptions, if any.
+ , customerSubscriptions :: (GHC.Maybe.Maybe CustomerSubscriptions')
+ -- | tax_exempt: Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**.
+ , customerTaxExempt :: (GHC.Maybe.Maybe CustomerTaxExempt')
+ -- | tax_ids: The customer\'s tax IDs.
+ , customerTaxIds :: (GHC.Maybe.Maybe CustomerTaxIds')
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Customer
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerAddress obj) : (Data.Aeson..=) "balance" (customerBalance obj) : (Data.Aeson..=) "created" (customerCreated obj) : (Data.Aeson..=) "currency" (customerCurrency obj) : (Data.Aeson..=) "default_source" (customerDefaultSource obj) : (Data.Aeson..=) "delinquent" (customerDelinquent obj) : (Data.Aeson..=) "description" (customerDescription obj) : (Data.Aeson..=) "discount" (customerDiscount obj) : (Data.Aeson..=) "email" (customerEmail obj) : (Data.Aeson..=) "id" (customerId obj) : (Data.Aeson..=) "invoice_prefix" (customerInvoicePrefix obj) : (Data.Aeson..=) "invoice_settings" (customerInvoiceSettings obj) : (Data.Aeson..=) "livemode" (customerLivemode obj) : (Data.Aeson..=) "metadata" (customerMetadata obj) : (Data.Aeson..=) "name" (customerName obj) : (Data.Aeson..=) "next_invoice_sequence" (customerNextInvoiceSequence obj) : (Data.Aeson..=) "object" (customerObject obj) : (Data.Aeson..=) "phone" (customerPhone obj) : (Data.Aeson..=) "preferred_locales" (customerPreferredLocales obj) : (Data.Aeson..=) "shipping" (customerShipping obj) : (Data.Aeson..=) "sources" (customerSources obj) : (Data.Aeson..=) "subscriptions" (customerSubscriptions obj) : (Data.Aeson..=) "tax_exempt" (customerTaxExempt obj) : (Data.Aeson..=) "tax_ids" (customerTaxIds obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerAddress obj) GHC.Base.<> ((Data.Aeson..=) "balance" (customerBalance obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerCurrency obj) GHC.Base.<> ((Data.Aeson..=) "default_source" (customerDefaultSource obj) GHC.Base.<> ((Data.Aeson..=) "delinquent" (customerDelinquent obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerDescription obj) GHC.Base.<> ((Data.Aeson..=) "discount" (customerDiscount obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerEmail obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerId obj) GHC.Base.<> ((Data.Aeson..=) "invoice_prefix" (customerInvoicePrefix obj) GHC.Base.<> ((Data.Aeson..=) "invoice_settings" (customerInvoiceSettings obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerName obj) GHC.Base.<> ((Data.Aeson..=) "next_invoice_sequence" (customerNextInvoiceSequence obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerObject obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerPhone obj) GHC.Base.<> ((Data.Aeson..=) "preferred_locales" (customerPreferredLocales obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (customerShipping obj) GHC.Base.<> ((Data.Aeson..=) "sources" (customerSources obj) GHC.Base.<> ((Data.Aeson..=) "subscriptions" (customerSubscriptions obj) GHC.Base.<> ((Data.Aeson..=) "tax_exempt" (customerTaxExempt obj) GHC.Base.<> (Data.Aeson..=) "tax_ids" (customerTaxIds obj))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Customer
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Customer" (\obj -> (((((((((((((((((((((((GHC.Base.pure Customer GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "delinquent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "discount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_prefix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_invoice_sequence")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "preferred_locales")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "sources")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscriptions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_exempt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_ids"))
+-- | Defines the data type for the schema customerAddress\'
+--
+-- The customer\\\'s address.
+data CustomerAddress' = CustomerAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ customerAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerAddress'City obj) : (Data.Aeson..=) "country" (customerAddress'Country obj) : (Data.Aeson..=) "line1" (customerAddress'Line1 obj) : (Data.Aeson..=) "line2" (customerAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (customerAddress'PostalCode obj) : (Data.Aeson..=) "state" (customerAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerAddress'" (\obj -> (((((GHC.Base.pure CustomerAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Define the one-of schema customerDefault_source\'
+--
+-- ID of the default payment source for the customer.
+--
+-- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead.
+data CustomerDefaultSource'Variants
+ = CustomerDefaultSource'AlipayAccount AlipayAccount
+ | CustomerDefaultSource'BankAccount BankAccount
+ | CustomerDefaultSource'BitcoinReceiver BitcoinReceiver
+ | CustomerDefaultSource'Card Card
+ | CustomerDefaultSource'Source Source
+ | CustomerDefaultSource'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerDefaultSource'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerDefaultSource'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema customerDiscount\'
+--
+-- Describes the current discount active on the customer, if there is one.
+data CustomerDiscount' = CustomerDiscount' {
+ -- | coupon: A coupon contains information about a percent-off or amount-off discount you
+ -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or
+ -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge).
+ customerDiscount'Coupon :: (GHC.Maybe.Maybe Coupon)
+ -- | customer: The ID of the customer associated with this discount.
+ , customerDiscount'Customer :: (GHC.Maybe.Maybe CustomerDiscount'Customer'Variants)
+ -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null.
+ , customerDiscount'End :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , customerDiscount'Object :: (GHC.Maybe.Maybe CustomerDiscount'Object')
+ -- | start: Date that the coupon was applied.
+ , customerDiscount'Start :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerDiscount'Subscription :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerDiscount'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (customerDiscount'Coupon obj) : (Data.Aeson..=) "customer" (customerDiscount'Customer obj) : (Data.Aeson..=) "end" (customerDiscount'End obj) : (Data.Aeson..=) "object" (customerDiscount'Object obj) : (Data.Aeson..=) "start" (customerDiscount'Start obj) : (Data.Aeson..=) "subscription" (customerDiscount'Subscription obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (customerDiscount'Coupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerDiscount'Customer obj) GHC.Base.<> ((Data.Aeson..=) "end" (customerDiscount'End obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerDiscount'Object obj) GHC.Base.<> ((Data.Aeson..=) "start" (customerDiscount'Start obj) GHC.Base.<> (Data.Aeson..=) "subscription" (customerDiscount'Subscription obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerDiscount'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerDiscount'" (\obj -> (((((GHC.Base.pure CustomerDiscount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription"))
+-- | Define the one-of schema customerDiscount\'Customer\'
+--
+-- The ID of the customer associated with this discount.
+data CustomerDiscount'Customer'Variants
+ = CustomerDiscount'Customer'Customer Customer
+ | CustomerDiscount'Customer'DeletedCustomer DeletedCustomer
+ | CustomerDiscount'Customer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerDiscount'Customer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerDiscount'Customer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema customerDiscount\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CustomerDiscount'Object'
+ = CustomerDiscount'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerDiscount'Object'EnumTyped GHC.Base.String
+ | CustomerDiscount'Object'EnumStringDiscount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerDiscount'Object'
+ where toJSON (CustomerDiscount'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerDiscount'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerDiscount'Object'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount"
+instance Data.Aeson.FromJSON CustomerDiscount'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount")
+ then CustomerDiscount'Object'EnumStringDiscount
+ else CustomerDiscount'Object'EnumOther val)
+-- | Defines the data type for the schema customerMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data CustomerMetadata' = CustomerMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerMetadata'" (\obj -> GHC.Base.pure CustomerMetadata')
+-- | Defines the enum schema customerObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CustomerObject'
+ = CustomerObject'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerObject'EnumTyped GHC.Base.String
+ | CustomerObject'EnumStringCustomer
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerObject'
+ where toJSON (CustomerObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerObject'EnumStringCustomer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer"
+instance Data.Aeson.FromJSON CustomerObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer")
+ then CustomerObject'EnumStringCustomer
+ else CustomerObject'EnumOther val)
+-- | Defines the data type for the schema customerShipping\'
+--
+-- Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
+data CustomerShipping' = CustomerShipping' {
+ -- | address:
+ customerShipping'Address :: (GHC.Maybe.Maybe Address)
+ -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: Recipient name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | phone: Recipient phone (including extension).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerShipping'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerShipping'Address obj) : (Data.Aeson..=) "carrier" (customerShipping'Carrier obj) : (Data.Aeson..=) "name" (customerShipping'Name obj) : (Data.Aeson..=) "phone" (customerShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (customerShipping'TrackingNumber obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (customerShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (customerShipping'TrackingNumber obj)))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerShipping'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerShipping'" (\obj -> ((((GHC.Base.pure CustomerShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number"))
+-- | Defines the data type for the schema customerSources\'
+--
+-- The customer\'s payment sources, if any.
+data CustomerSources' = CustomerSources' {
+ -- | data: Details about each object.
+ customerSources'Data :: ([] CustomerSources'Data')
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , customerSources'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , customerSources'Object :: CustomerSources'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSources'Data obj) : (Data.Aeson..=) "has_more" (customerSources'HasMore obj) : (Data.Aeson..=) "object" (customerSources'Object obj) : (Data.Aeson..=) "url" (customerSources'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSources'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSources'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSources'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'" (\obj -> (((GHC.Base.pure CustomerSources' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the data type for the schema customerSources\'Data\'
+--
+--
+data CustomerSources'Data' = CustomerSources'Data' {
+ -- | account: The ID of the account that the bank account is associated with.
+ customerSources'Data'Account :: (GHC.Maybe.Maybe CustomerSources'Data'Account'Variants)
+ -- | account_holder_name: The name of the person or business that owns the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | ach_credit_transfer
+ , customerSources'Data'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer)
+ -- | ach_debit
+ , customerSources'Data'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit)
+ -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin.
+ , customerSources'Data'Active :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | address_city: City\/District\/Suburb\/Town\/Village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_country: Billing address country, if provided when creating card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_state: State\/County\/Province\/Region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressState :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | alipay
+ , customerSources'Data'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay)
+ -- | amount: The amount of \`currency\` that you are collecting as payment.
+ , customerSources'Data'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted.
+ , customerSources'Data'AmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer.
+ , customerSources'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] CustomerSources'Data'AvailablePayoutMethods'))
+ -- | bancontact
+ , customerSources'Data'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact)
+ -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'BankName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | bitcoin_amount: The amount of bitcoin that the customer should send to fill the receiver. The \`bitcoin_amount\` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.
+ , customerSources'Data'BitcoinAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver.
+ , customerSources'Data'BitcoinAmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | bitcoin_uri: This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'BitcoinUri :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Brand :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | card
+ , customerSources'Data'Card :: (GHC.Maybe.Maybe SourceTypeCard)
+ -- | card_present
+ , customerSources'Data'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent)
+ -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | code_verification:
+ , customerSources'Data'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow)
+ -- | country: Two-letter ISO code representing the country the bank account is located in.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , customerSources'Data'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ , customerSources'Data'Currency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The ID of the customer associated with this Alipay Account.
+ , customerSources'Data'Customer :: (GHC.Maybe.Maybe CustomerSources'Data'Customer'Variants)
+ -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_for_currency: Whether this bank account is the default external account for its currency.
+ , customerSources'Data'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Description :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | email: The customer\'s email address, set by the API call that creates the receiver.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Email :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | eps
+ , customerSources'Data'Eps :: (GHC.Maybe.Maybe SourceTypeEps)
+ -- | exp_month: Two-digit number representing the card\'s expiration month.
+ , customerSources'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | exp_year: Four-digit number representing the card\'s expiration year.
+ , customerSources'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver.
+ , customerSources'Data'Filled :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Flow :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Funding :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | giropay
+ , customerSources'Data'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Id :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | ideal
+ , customerSources'Data'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal)
+ -- | inbound_address: A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'InboundAddress :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | klarna
+ , customerSources'Data'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna)
+ -- | last4: The last four digits of the bank account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Last4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , customerSources'Data'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , customerSources'Data'Metadata :: (GHC.Maybe.Maybe CustomerSources'Data'Metadata')
+ -- | multibanco
+ , customerSources'Data'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco)
+ -- | name: Cardholder name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , customerSources'Data'Object :: (GHC.Maybe.Maybe CustomerSources'Data'Object')
+ -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
+ , customerSources'Data'Owner :: (GHC.Maybe.Maybe CustomerSources'Data'Owner')
+ -- | p24
+ , customerSources'Data'P24 :: (GHC.Maybe.Maybe SourceTypeP24)
+ -- | payment: The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Payment :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for.
+ , customerSources'Data'PaymentAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for.
+ , customerSources'Data'PaymentCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | receiver:
+ , customerSources'Data'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow)
+ -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+ , customerSources'Data'Recipient :: (GHC.Maybe.Maybe CustomerSources'Data'Recipient'Variants)
+ -- | redirect:
+ , customerSources'Data'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow)
+ -- | refund_address: The refund address of this bitcoin receiver.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'RefundAddress :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.
+ , customerSources'Data'Reusable :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | routing_number: The routing transit number for the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | sepa_debit
+ , customerSources'Data'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit)
+ -- | sofort
+ , customerSources'Data'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort)
+ -- | source_order:
+ , customerSources'Data'SourceOrder :: (GHC.Maybe.Maybe SourceOrder)
+ -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
+ --
+ -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Status :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | three_d_secure
+ , customerSources'Data'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure)
+ -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | transactions: A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.
+ , customerSources'Data'Transactions :: (GHC.Maybe.Maybe CustomerSources'Data'Transactions')
+ -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
+ , customerSources'Data'Type :: (GHC.Maybe.Maybe CustomerSources'Data'Type')
+ -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded.
+ , customerSources'Data'UncapturedFunds :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Usage :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | used: Whether this Alipay account object has ever been used for a payment.
+ , customerSources'Data'Used :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | used_for_payment: Indicate if this source is used for payment.
+ , customerSources'Data'UsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | username: The username for the Alipay account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Username :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | wechat
+ , customerSources'Data'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (customerSources'Data'Account obj) : (Data.Aeson..=) "account_holder_name" (customerSources'Data'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (customerSources'Data'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (customerSources'Data'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (customerSources'Data'AchDebit obj) : (Data.Aeson..=) "active" (customerSources'Data'Active obj) : (Data.Aeson..=) "address_city" (customerSources'Data'AddressCity obj) : (Data.Aeson..=) "address_country" (customerSources'Data'AddressCountry obj) : (Data.Aeson..=) "address_line1" (customerSources'Data'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (customerSources'Data'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (customerSources'Data'AddressLine2 obj) : (Data.Aeson..=) "address_state" (customerSources'Data'AddressState obj) : (Data.Aeson..=) "address_zip" (customerSources'Data'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (customerSources'Data'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (customerSources'Data'Alipay obj) : (Data.Aeson..=) "amount" (customerSources'Data'Amount obj) : (Data.Aeson..=) "amount_received" (customerSources'Data'AmountReceived obj) : (Data.Aeson..=) "available_payout_methods" (customerSources'Data'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (customerSources'Data'Bancontact obj) : (Data.Aeson..=) "bank_name" (customerSources'Data'BankName obj) : (Data.Aeson..=) "bitcoin_amount" (customerSources'Data'BitcoinAmount obj) : (Data.Aeson..=) "bitcoin_amount_received" (customerSources'Data'BitcoinAmountReceived obj) : (Data.Aeson..=) "bitcoin_uri" (customerSources'Data'BitcoinUri obj) : (Data.Aeson..=) "brand" (customerSources'Data'Brand obj) : (Data.Aeson..=) "card" (customerSources'Data'Card obj) : (Data.Aeson..=) "card_present" (customerSources'Data'CardPresent obj) : (Data.Aeson..=) "client_secret" (customerSources'Data'ClientSecret obj) : (Data.Aeson..=) "code_verification" (customerSources'Data'CodeVerification obj) : (Data.Aeson..=) "country" (customerSources'Data'Country obj) : (Data.Aeson..=) "created" (customerSources'Data'Created obj) : (Data.Aeson..=) "currency" (customerSources'Data'Currency obj) : (Data.Aeson..=) "customer" (customerSources'Data'Customer obj) : (Data.Aeson..=) "cvc_check" (customerSources'Data'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (customerSources'Data'DefaultForCurrency obj) : (Data.Aeson..=) "description" (customerSources'Data'Description obj) : (Data.Aeson..=) "dynamic_last4" (customerSources'Data'DynamicLast4 obj) : (Data.Aeson..=) "email" (customerSources'Data'Email obj) : (Data.Aeson..=) "eps" (customerSources'Data'Eps obj) : (Data.Aeson..=) "exp_month" (customerSources'Data'ExpMonth obj) : (Data.Aeson..=) "exp_year" (customerSources'Data'ExpYear obj) : (Data.Aeson..=) "filled" (customerSources'Data'Filled obj) : (Data.Aeson..=) "fingerprint" (customerSources'Data'Fingerprint obj) : (Data.Aeson..=) "flow" (customerSources'Data'Flow obj) : (Data.Aeson..=) "funding" (customerSources'Data'Funding obj) : (Data.Aeson..=) "giropay" (customerSources'Data'Giropay obj) : (Data.Aeson..=) "id" (customerSources'Data'Id obj) : (Data.Aeson..=) "ideal" (customerSources'Data'Ideal obj) : (Data.Aeson..=) "inbound_address" (customerSources'Data'InboundAddress obj) : (Data.Aeson..=) "klarna" (customerSources'Data'Klarna obj) : (Data.Aeson..=) "last4" (customerSources'Data'Last4 obj) : (Data.Aeson..=) "livemode" (customerSources'Data'Livemode obj) : (Data.Aeson..=) "metadata" (customerSources'Data'Metadata obj) : (Data.Aeson..=) "multibanco" (customerSources'Data'Multibanco obj) : (Data.Aeson..=) "name" (customerSources'Data'Name obj) : (Data.Aeson..=) "object" (customerSources'Data'Object obj) : (Data.Aeson..=) "owner" (customerSources'Data'Owner obj) : (Data.Aeson..=) "p24" (customerSources'Data'P24 obj) : (Data.Aeson..=) "payment" (customerSources'Data'Payment obj) : (Data.Aeson..=) "payment_amount" (customerSources'Data'PaymentAmount obj) : (Data.Aeson..=) "payment_currency" (customerSources'Data'PaymentCurrency obj) : (Data.Aeson..=) "receiver" (customerSources'Data'Receiver obj) : (Data.Aeson..=) "recipient" (customerSources'Data'Recipient obj) : (Data.Aeson..=) "redirect" (customerSources'Data'Redirect obj) : (Data.Aeson..=) "refund_address" (customerSources'Data'RefundAddress obj) : (Data.Aeson..=) "reusable" (customerSources'Data'Reusable obj) : (Data.Aeson..=) "routing_number" (customerSources'Data'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (customerSources'Data'SepaDebit obj) : (Data.Aeson..=) "sofort" (customerSources'Data'Sofort obj) : (Data.Aeson..=) "source_order" (customerSources'Data'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (customerSources'Data'StatementDescriptor obj) : (Data.Aeson..=) "status" (customerSources'Data'Status obj) : (Data.Aeson..=) "three_d_secure" (customerSources'Data'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (customerSources'Data'TokenizationMethod obj) : (Data.Aeson..=) "transactions" (customerSources'Data'Transactions obj) : (Data.Aeson..=) "type" (customerSources'Data'Type obj) : (Data.Aeson..=) "uncaptured_funds" (customerSources'Data'UncapturedFunds obj) : (Data.Aeson..=) "usage" (customerSources'Data'Usage obj) : (Data.Aeson..=) "used" (customerSources'Data'Used obj) : (Data.Aeson..=) "used_for_payment" (customerSources'Data'UsedForPayment obj) : (Data.Aeson..=) "username" (customerSources'Data'Username obj) : (Data.Aeson..=) "wechat" (customerSources'Data'Wechat obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (customerSources'Data'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (customerSources'Data'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (customerSources'Data'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (customerSources'Data'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (customerSources'Data'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "active" (customerSources'Data'Active obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (customerSources'Data'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (customerSources'Data'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (customerSources'Data'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (customerSources'Data'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (customerSources'Data'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (customerSources'Data'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (customerSources'Data'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (customerSources'Data'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (customerSources'Data'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (customerSources'Data'Amount obj) GHC.Base.<> ((Data.Aeson..=) "amount_received" (customerSources'Data'AmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (customerSources'Data'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (customerSources'Data'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (customerSources'Data'BankName obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount" (customerSources'Data'BitcoinAmount obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount_received" (customerSources'Data'BitcoinAmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_uri" (customerSources'Data'BitcoinUri obj) GHC.Base.<> ((Data.Aeson..=) "brand" (customerSources'Data'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (customerSources'Data'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (customerSources'Data'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (customerSources'Data'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (customerSources'Data'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerSources'Data'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerSources'Data'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerSources'Data'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (customerSources'Data'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (customerSources'Data'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerSources'Data'Description obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (customerSources'Data'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerSources'Data'Email obj) GHC.Base.<> ((Data.Aeson..=) "eps" (customerSources'Data'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (customerSources'Data'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (customerSources'Data'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "filled" (customerSources'Data'Filled obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (customerSources'Data'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (customerSources'Data'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (customerSources'Data'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (customerSources'Data'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerSources'Data'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (customerSources'Data'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "inbound_address" (customerSources'Data'InboundAddress obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (customerSources'Data'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (customerSources'Data'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerSources'Data'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerSources'Data'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (customerSources'Data'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerSources'Data'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Data'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (customerSources'Data'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (customerSources'Data'P24 obj) GHC.Base.<> ((Data.Aeson..=) "payment" (customerSources'Data'Payment obj) GHC.Base.<> ((Data.Aeson..=) "payment_amount" (customerSources'Data'PaymentAmount obj) GHC.Base.<> ((Data.Aeson..=) "payment_currency" (customerSources'Data'PaymentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (customerSources'Data'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (customerSources'Data'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (customerSources'Data'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "refund_address" (customerSources'Data'RefundAddress obj) GHC.Base.<> ((Data.Aeson..=) "reusable" (customerSources'Data'Reusable obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (customerSources'Data'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (customerSources'Data'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (customerSources'Data'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (customerSources'Data'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (customerSources'Data'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (customerSources'Data'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (customerSources'Data'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (customerSources'Data'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "transactions" (customerSources'Data'Transactions obj) GHC.Base.<> ((Data.Aeson..=) "type" (customerSources'Data'Type obj) GHC.Base.<> ((Data.Aeson..=) "uncaptured_funds" (customerSources'Data'UncapturedFunds obj) GHC.Base.<> ((Data.Aeson..=) "usage" (customerSources'Data'Usage obj) GHC.Base.<> ((Data.Aeson..=) "used" (customerSources'Data'Used obj) GHC.Base.<> ((Data.Aeson..=) "used_for_payment" (customerSources'Data'UsedForPayment obj) GHC.Base.<> ((Data.Aeson..=) "username" (customerSources'Data'Username obj) GHC.Base.<> (Data.Aeson..=) "wechat" (customerSources'Data'Wechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'" (\obj -> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure CustomerSources'Data' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_uri")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "filled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "inbound_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reusable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncaptured_funds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used_for_payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "username")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat"))
+-- | Define the one-of schema customerSources\'Data\'Account\'
+--
+-- The ID of the account that the bank account is associated with.
+data CustomerSources'Data'Account'Variants
+ = CustomerSources'Data'Account'Account Account
+ | CustomerSources'Data'Account'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerSources'Data'Account'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerSources'Data'Account'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema customerSources\'Data\'Available_payout_methods\'
+--
+--
+data CustomerSources'Data'AvailablePayoutMethods'
+ = CustomerSources'Data'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSources'Data'AvailablePayoutMethods'EnumTyped GHC.Base.String
+ | CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant
+ | CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'AvailablePayoutMethods'
+ where toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant"
+ toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON CustomerSources'Data'AvailablePayoutMethods'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant")
+ then CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard
+ else CustomerSources'Data'AvailablePayoutMethods'EnumOther val)
+-- | Define the one-of schema customerSources\'Data\'Customer\'
+--
+-- The ID of the customer associated with this Alipay Account.
+data CustomerSources'Data'Customer'Variants
+ = CustomerSources'Data'Customer'Customer Customer
+ | CustomerSources'Data'Customer'DeletedCustomer DeletedCustomer
+ | CustomerSources'Data'Customer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerSources'Data'Customer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerSources'Data'Customer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema customerSources\'Data\'Metadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data CustomerSources'Data'Metadata' = CustomerSources'Data'Metadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Metadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Metadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Metadata'" (\obj -> GHC.Base.pure CustomerSources'Data'Metadata')
+-- | Defines the enum schema customerSources\'Data\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CustomerSources'Data'Object'
+ = CustomerSources'Data'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSources'Data'Object'EnumTyped GHC.Base.String
+ | CustomerSources'Data'Object'EnumStringAlipayAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Object'
+ where toJSON (CustomerSources'Data'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Object'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account"
+instance Data.Aeson.FromJSON CustomerSources'Data'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account")
+ then CustomerSources'Data'Object'EnumStringAlipayAccount
+ else CustomerSources'Data'Object'EnumOther val)
+-- | Defines the data type for the schema customerSources\'Data\'Owner\'
+--
+-- Information about the owner of the payment instrument that may be used or required by particular source types.
+data CustomerSources'Data'Owner' = CustomerSources'Data'Owner' {
+ -- | address: Owner\'s address.
+ customerSources'Data'Owner'Address :: (GHC.Maybe.Maybe CustomerSources'Data'Owner'Address')
+ -- | email: Owner\'s email address.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | name: Owner\'s full name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | phone: Owner\'s phone number (including extension).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ , customerSources'Data'Owner'VerifiedAddress :: (GHC.Maybe.Maybe CustomerSources'Data'Owner'VerifiedAddress')
+ -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Owner'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerSources'Data'Owner'Address obj) : (Data.Aeson..=) "email" (customerSources'Data'Owner'Email obj) : (Data.Aeson..=) "name" (customerSources'Data'Owner'Name obj) : (Data.Aeson..=) "phone" (customerSources'Data'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (customerSources'Data'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (customerSources'Data'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (customerSources'Data'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (customerSources'Data'Owner'VerifiedPhone obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerSources'Data'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerSources'Data'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerSources'Data'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerSources'Data'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (customerSources'Data'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (customerSources'Data'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (customerSources'Data'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (customerSources'Data'Owner'VerifiedPhone obj))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'" (\obj -> (((((((GHC.Base.pure CustomerSources'Data'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone"))
+-- | Defines the data type for the schema customerSources\'Data\'Owner\'Address\'
+--
+-- Owner\\\'s address.
+data CustomerSources'Data'Owner'Address' = CustomerSources'Data'Owner'Address' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ customerSources'Data'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Owner'Address'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerSources'Data'Owner'Address'City obj) : (Data.Aeson..=) "country" (customerSources'Data'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (customerSources'Data'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (customerSources'Data'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (customerSources'Data'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (customerSources'Data'Owner'Address'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerSources'Data'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerSources'Data'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerSources'Data'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerSources'Data'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerSources'Data'Owner'Address'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner'Address'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'Address'" (\obj -> (((((GHC.Base.pure CustomerSources'Data'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Defines the data type for the schema customerSources\'Data\'Owner\'Verified_address\'
+--
+-- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
+data CustomerSources'Data'Owner'VerifiedAddress' = CustomerSources'Data'Owner'VerifiedAddress' {
+ -- | city: City, district, suburb, town, or village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ customerSources'Data'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line1: Address line 1 (e.g., street, PO Box, or company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | postal_code: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | state: State, county, province, or region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Owner'VerifiedAddress'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerSources'Data'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (customerSources'Data'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (customerSources'Data'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (customerSources'Data'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (customerSources'Data'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (customerSources'Data'Owner'VerifiedAddress'State obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerSources'Data'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerSources'Data'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerSources'Data'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerSources'Data'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerSources'Data'Owner'VerifiedAddress'State obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner'VerifiedAddress'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure CustomerSources'Data'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state"))
+-- | Define the one-of schema customerSources\'Data\'Recipient\'
+--
+-- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+data CustomerSources'Data'Recipient'Variants
+ = CustomerSources'Data'Recipient'Recipient Recipient
+ | CustomerSources'Data'Recipient'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerSources'Data'Recipient'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerSources'Data'Recipient'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema customerSources\'Data\'Transactions\'
+--
+-- A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.
+data CustomerSources'Data'Transactions' = CustomerSources'Data'Transactions' {
+ -- | data: Details about each object.
+ customerSources'Data'Transactions'Data :: ([] BitcoinTransaction)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , customerSources'Data'Transactions'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , customerSources'Data'Transactions'Object :: CustomerSources'Data'Transactions'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSources'Data'Transactions'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Transactions'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSources'Data'Transactions'Data obj) : (Data.Aeson..=) "has_more" (customerSources'Data'Transactions'HasMore obj) : (Data.Aeson..=) "object" (customerSources'Data'Transactions'Object obj) : (Data.Aeson..=) "url" (customerSources'Data'Transactions'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSources'Data'Transactions'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSources'Data'Transactions'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Data'Transactions'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSources'Data'Transactions'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Transactions'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Transactions'" (\obj -> (((GHC.Base.pure CustomerSources'Data'Transactions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema customerSources\'Data\'Transactions\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data CustomerSources'Data'Transactions'Object'
+ = CustomerSources'Data'Transactions'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSources'Data'Transactions'Object'EnumTyped GHC.Base.String
+ | CustomerSources'Data'Transactions'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Transactions'Object'
+ where toJSON (CustomerSources'Data'Transactions'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Transactions'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Transactions'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON CustomerSources'Data'Transactions'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then CustomerSources'Data'Transactions'Object'EnumStringList
+ else CustomerSources'Data'Transactions'Object'EnumOther val)
+-- | Defines the enum schema customerSources\'Data\'Type\'
+--
+-- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
+data CustomerSources'Data'Type'
+ = CustomerSources'Data'Type'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSources'Data'Type'EnumTyped GHC.Base.String
+ | CustomerSources'Data'Type'EnumStringAchCreditTransfer
+ | CustomerSources'Data'Type'EnumStringAchDebit
+ | CustomerSources'Data'Type'EnumStringAlipay
+ | CustomerSources'Data'Type'EnumStringBancontact
+ | CustomerSources'Data'Type'EnumStringCard
+ | CustomerSources'Data'Type'EnumStringCardPresent
+ | CustomerSources'Data'Type'EnumStringEps
+ | CustomerSources'Data'Type'EnumStringGiropay
+ | CustomerSources'Data'Type'EnumStringIdeal
+ | CustomerSources'Data'Type'EnumStringKlarna
+ | CustomerSources'Data'Type'EnumStringMultibanco
+ | CustomerSources'Data'Type'EnumStringP24
+ | CustomerSources'Data'Type'EnumStringSepaDebit
+ | CustomerSources'Data'Type'EnumStringSofort
+ | CustomerSources'Data'Type'EnumStringThreeDSecure
+ | CustomerSources'Data'Type'EnumStringWechat
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Data'Type'
+ where toJSON (CustomerSources'Data'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Data'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer"
+ toJSON (CustomerSources'Data'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit"
+ toJSON (CustomerSources'Data'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay"
+ toJSON (CustomerSources'Data'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact"
+ toJSON (CustomerSources'Data'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card"
+ toJSON (CustomerSources'Data'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present"
+ toJSON (CustomerSources'Data'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps"
+ toJSON (CustomerSources'Data'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay"
+ toJSON (CustomerSources'Data'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal"
+ toJSON (CustomerSources'Data'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna"
+ toJSON (CustomerSources'Data'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco"
+ toJSON (CustomerSources'Data'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24"
+ toJSON (CustomerSources'Data'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit"
+ toJSON (CustomerSources'Data'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort"
+ toJSON (CustomerSources'Data'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure"
+ toJSON (CustomerSources'Data'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat"
+instance Data.Aeson.FromJSON CustomerSources'Data'Type'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer")
+ then CustomerSources'Data'Type'EnumStringAchCreditTransfer
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit")
+ then CustomerSources'Data'Type'EnumStringAchDebit
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay")
+ then CustomerSources'Data'Type'EnumStringAlipay
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact")
+ then CustomerSources'Data'Type'EnumStringBancontact
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card")
+ then CustomerSources'Data'Type'EnumStringCard
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present")
+ then CustomerSources'Data'Type'EnumStringCardPresent
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps")
+ then CustomerSources'Data'Type'EnumStringEps
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay")
+ then CustomerSources'Data'Type'EnumStringGiropay
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal")
+ then CustomerSources'Data'Type'EnumStringIdeal
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna")
+ then CustomerSources'Data'Type'EnumStringKlarna
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco")
+ then CustomerSources'Data'Type'EnumStringMultibanco
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24")
+ then CustomerSources'Data'Type'EnumStringP24
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit")
+ then CustomerSources'Data'Type'EnumStringSepaDebit
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort")
+ then CustomerSources'Data'Type'EnumStringSofort
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure")
+ then CustomerSources'Data'Type'EnumStringThreeDSecure
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat")
+ then CustomerSources'Data'Type'EnumStringWechat
+ else CustomerSources'Data'Type'EnumOther val)
+-- | Defines the enum schema customerSources\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data CustomerSources'Object'
+ = CustomerSources'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSources'Object'EnumTyped GHC.Base.String
+ | CustomerSources'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSources'Object'
+ where toJSON (CustomerSources'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSources'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON CustomerSources'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then CustomerSources'Object'EnumStringList
+ else CustomerSources'Object'EnumOther val)
+-- | Defines the data type for the schema customerSubscriptions\'
+--
+-- The customer\'s current subscriptions, if any.
+data CustomerSubscriptions' = CustomerSubscriptions' {
+ -- | data: Details about each object.
+ customerSubscriptions'Data :: ([] Subscription)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , customerSubscriptions'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , customerSubscriptions'Object :: CustomerSubscriptions'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerSubscriptions'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSubscriptions'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSubscriptions'Data obj) : (Data.Aeson..=) "has_more" (customerSubscriptions'HasMore obj) : (Data.Aeson..=) "object" (customerSubscriptions'Object obj) : (Data.Aeson..=) "url" (customerSubscriptions'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSubscriptions'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSubscriptions'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSubscriptions'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSubscriptions'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerSubscriptions'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSubscriptions'" (\obj -> (((GHC.Base.pure CustomerSubscriptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema customerSubscriptions\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data CustomerSubscriptions'Object'
+ = CustomerSubscriptions'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerSubscriptions'Object'EnumTyped GHC.Base.String
+ | CustomerSubscriptions'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerSubscriptions'Object'
+ where toJSON (CustomerSubscriptions'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSubscriptions'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerSubscriptions'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON CustomerSubscriptions'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then CustomerSubscriptions'Object'EnumStringList
+ else CustomerSubscriptions'Object'EnumOther val)
+-- | Defines the enum schema customerTax_exempt\'
+--
+-- Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**.
+data CustomerTaxExempt'
+ = CustomerTaxExempt'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerTaxExempt'EnumTyped GHC.Base.String
+ | CustomerTaxExempt'EnumStringExempt
+ | CustomerTaxExempt'EnumStringNone
+ | CustomerTaxExempt'EnumStringReverse
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerTaxExempt'
+ where toJSON (CustomerTaxExempt'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerTaxExempt'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerTaxExempt'EnumStringExempt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt"
+ toJSON (CustomerTaxExempt'EnumStringNone) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none"
+ toJSON (CustomerTaxExempt'EnumStringReverse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse"
+instance Data.Aeson.FromJSON CustomerTaxExempt'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt")
+ then CustomerTaxExempt'EnumStringExempt
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none")
+ then CustomerTaxExempt'EnumStringNone
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse")
+ then CustomerTaxExempt'EnumStringReverse
+ else CustomerTaxExempt'EnumOther val)
+-- | Defines the data type for the schema customerTax_ids\'
+--
+-- The customer\'s tax IDs.
+data CustomerTaxIds' = CustomerTaxIds' {
+ -- | data: Details about each object.
+ customerTaxIds'Data :: ([] TaxId)
+ -- | has_more: True if this list has another page of items after this one that can be fetched.
+ , customerTaxIds'HasMore :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+ , customerTaxIds'Object :: CustomerTaxIds'Object'
+ -- | url: The URL where this list can be accessed.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerTaxIds'Url :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerTaxIds'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerTaxIds'Data obj) : (Data.Aeson..=) "has_more" (customerTaxIds'HasMore obj) : (Data.Aeson..=) "object" (customerTaxIds'Object obj) : (Data.Aeson..=) "url" (customerTaxIds'Url obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerTaxIds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerTaxIds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerTaxIds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerTaxIds'Url obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerTaxIds'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerTaxIds'" (\obj -> (((GHC.Base.pure CustomerTaxIds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url"))
+-- | Defines the enum schema customerTax_ids\'Object\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`.
+data CustomerTaxIds'Object'
+ = CustomerTaxIds'Object'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerTaxIds'Object'EnumTyped GHC.Base.String
+ | CustomerTaxIds'Object'EnumStringList
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerTaxIds'Object'
+ where toJSON (CustomerTaxIds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerTaxIds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerTaxIds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list"
+instance Data.Aeson.FromJSON CustomerTaxIds'Object'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list")
+ then CustomerTaxIds'Object'EnumStringList
+ else CustomerTaxIds'Object'EnumOther val)
+-- | Defines the data type for the schema customer_balance_transaction
+--
+-- Each customer has a [\`balance\`](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-balance) value,
+-- which denotes a debit or credit that\'s automatically applied to their next invoice upon finalization.
+-- You may modify the value directly by using the [update customer API](https:\/\/stripe.com\/docs\/api\/customers\/update),
+-- or by creating a Customer Balance Transaction, which increments or decrements the customer\'s \`balance\` by the specified \`amount\`.
+--
+-- Related guide: [Customer Balance](https:\/\/stripe.com\/docs\/billing\/customer\/balance) to learn more.
+data CustomerBalanceTransaction = CustomerBalanceTransaction {
+ -- | amount: The amount of the transaction. A negative value is a credit for the customer\'s balance, and a positive value is a debit to the customer\'s \`balance\`.
+ customerBalanceTransactionAmount :: GHC.Integer.Type.Integer
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , customerBalanceTransactionCreated :: GHC.Integer.Type.Integer
+ -- | credit_note: The ID of the credit note (if any) related to the transaction.
+ , customerBalanceTransactionCreditNote :: (GHC.Maybe.Maybe CustomerBalanceTransactionCreditNote'Variants)
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , customerBalanceTransactionCurrency :: GHC.Base.String
+ -- | customer: The ID of the customer the transaction belongs to.
+ , customerBalanceTransactionCustomer :: CustomerBalanceTransactionCustomer'Variants
+ -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerBalanceTransactionDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | ending_balance: The customer\'s \`balance\` after the transaction was applied. A negative value decreases the amount due on the customer\'s next invoice. A positive value increases the amount due on the customer\'s next invoice.
+ , customerBalanceTransactionEndingBalance :: GHC.Integer.Type.Integer
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , customerBalanceTransactionId :: GHC.Base.String
+ -- | invoice: The ID of the invoice (if any) related to the transaction.
+ , customerBalanceTransactionInvoice :: (GHC.Maybe.Maybe CustomerBalanceTransactionInvoice'Variants)
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , customerBalanceTransactionLivemode :: GHC.Types.Bool
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , customerBalanceTransactionMetadata :: (GHC.Maybe.Maybe CustomerBalanceTransactionMetadata')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , customerBalanceTransactionObject :: CustomerBalanceTransactionObject'
+ -- | type: Transaction type: \`adjustment\`, \`applied_to_invoice\`, \`credit_note\`, \`initial\`, \`invoice_too_large\`, \`invoice_too_small\`, \`unspent_receiver_credit\`, or \`unapplied_from_invoice\`. See the [Customer Balance page](https:\/\/stripe.com\/docs\/billing\/customer\/balance\#types) to learn more about transaction types.
+ , customerBalanceTransactionType :: CustomerBalanceTransactionType'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerBalanceTransaction
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (customerBalanceTransactionAmount obj) : (Data.Aeson..=) "created" (customerBalanceTransactionCreated obj) : (Data.Aeson..=) "credit_note" (customerBalanceTransactionCreditNote obj) : (Data.Aeson..=) "currency" (customerBalanceTransactionCurrency obj) : (Data.Aeson..=) "customer" (customerBalanceTransactionCustomer obj) : (Data.Aeson..=) "description" (customerBalanceTransactionDescription obj) : (Data.Aeson..=) "ending_balance" (customerBalanceTransactionEndingBalance obj) : (Data.Aeson..=) "id" (customerBalanceTransactionId obj) : (Data.Aeson..=) "invoice" (customerBalanceTransactionInvoice obj) : (Data.Aeson..=) "livemode" (customerBalanceTransactionLivemode obj) : (Data.Aeson..=) "metadata" (customerBalanceTransactionMetadata obj) : (Data.Aeson..=) "object" (customerBalanceTransactionObject obj) : (Data.Aeson..=) "type" (customerBalanceTransactionType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (customerBalanceTransactionAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerBalanceTransactionCreated obj) GHC.Base.<> ((Data.Aeson..=) "credit_note" (customerBalanceTransactionCreditNote obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerBalanceTransactionCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerBalanceTransactionCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerBalanceTransactionDescription obj) GHC.Base.<> ((Data.Aeson..=) "ending_balance" (customerBalanceTransactionEndingBalance obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerBalanceTransactionId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (customerBalanceTransactionInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerBalanceTransactionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerBalanceTransactionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerBalanceTransactionObject obj) GHC.Base.<> (Data.Aeson..=) "type" (customerBalanceTransactionType obj)))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerBalanceTransaction
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerBalanceTransaction" (\obj -> ((((((((((((GHC.Base.pure CustomerBalanceTransaction GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "credit_note")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "ending_balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type"))
+-- | Define the one-of schema customer_balance_transactionCredit_note\'
+--
+-- The ID of the credit note (if any) related to the transaction.
+data CustomerBalanceTransactionCreditNote'Variants
+ = CustomerBalanceTransactionCreditNote'CreditNote CreditNote
+ | CustomerBalanceTransactionCreditNote'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionCreditNote'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerBalanceTransactionCreditNote'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema customer_balance_transactionCustomer\'
+--
+-- The ID of the customer the transaction belongs to.
+data CustomerBalanceTransactionCustomer'Variants
+ = CustomerBalanceTransactionCustomer'Customer Customer
+ | CustomerBalanceTransactionCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerBalanceTransactionCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema customer_balance_transactionInvoice\'
+--
+-- The ID of the invoice (if any) related to the transaction.
+data CustomerBalanceTransactionInvoice'Variants
+ = CustomerBalanceTransactionInvoice'Invoice Invoice
+ | CustomerBalanceTransactionInvoice'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionInvoice'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON CustomerBalanceTransactionInvoice'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema customer_balance_transactionMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data CustomerBalanceTransactionMetadata' = CustomerBalanceTransactionMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON CustomerBalanceTransactionMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerBalanceTransactionMetadata'" (\obj -> GHC.Base.pure CustomerBalanceTransactionMetadata')
+-- | Defines the enum schema customer_balance_transactionObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data CustomerBalanceTransactionObject'
+ = CustomerBalanceTransactionObject'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerBalanceTransactionObject'EnumTyped GHC.Base.String
+ | CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionObject'
+ where toJSON (CustomerBalanceTransactionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerBalanceTransactionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer_balance_transaction"
+instance Data.Aeson.FromJSON CustomerBalanceTransactionObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer_balance_transaction")
+ then CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction
+ else CustomerBalanceTransactionObject'EnumOther val)
+-- | Defines the enum schema customer_balance_transactionType\'
+--
+-- Transaction type: \`adjustment\`, \`applied_to_invoice\`, \`credit_note\`, \`initial\`, \`invoice_too_large\`, \`invoice_too_small\`, \`unspent_receiver_credit\`, or \`unapplied_from_invoice\`. See the [Customer Balance page](https:\/\/stripe.com\/docs\/billing\/customer\/balance\#types) to learn more about transaction types.
+data CustomerBalanceTransactionType'
+ = CustomerBalanceTransactionType'EnumOther Data.Aeson.Types.Internal.Value
+ | CustomerBalanceTransactionType'EnumTyped GHC.Base.String
+ | CustomerBalanceTransactionType'EnumStringAdjustment
+ | CustomerBalanceTransactionType'EnumStringAppliedToInvoice
+ | CustomerBalanceTransactionType'EnumStringCreditNote
+ | CustomerBalanceTransactionType'EnumStringInitial
+ | CustomerBalanceTransactionType'EnumStringInvoiceTooLarge
+ | CustomerBalanceTransactionType'EnumStringInvoiceTooSmall
+ | CustomerBalanceTransactionType'EnumStringMigration
+ | CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice
+ | CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON CustomerBalanceTransactionType'
+ where toJSON (CustomerBalanceTransactionType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerBalanceTransactionType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (CustomerBalanceTransactionType'EnumStringAdjustment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment"
+ toJSON (CustomerBalanceTransactionType'EnumStringAppliedToInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "applied_to_invoice"
+ toJSON (CustomerBalanceTransactionType'EnumStringCreditNote) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note"
+ toJSON (CustomerBalanceTransactionType'EnumStringInitial) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "initial"
+ toJSON (CustomerBalanceTransactionType'EnumStringInvoiceTooLarge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_large"
+ toJSON (CustomerBalanceTransactionType'EnumStringInvoiceTooSmall) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_small"
+ toJSON (CustomerBalanceTransactionType'EnumStringMigration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "migration"
+ toJSON (CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unapplied_from_invoice"
+ toJSON (CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unspent_receiver_credit"
+instance Data.Aeson.FromJSON CustomerBalanceTransactionType'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment")
+ then CustomerBalanceTransactionType'EnumStringAdjustment
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "applied_to_invoice")
+ then CustomerBalanceTransactionType'EnumStringAppliedToInvoice
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note")
+ then CustomerBalanceTransactionType'EnumStringCreditNote
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "initial")
+ then CustomerBalanceTransactionType'EnumStringInitial
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_large")
+ then CustomerBalanceTransactionType'EnumStringInvoiceTooLarge
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_small")
+ then CustomerBalanceTransactionType'EnumStringInvoiceTooSmall
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "migration")
+ then CustomerBalanceTransactionType'EnumStringMigration
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unapplied_from_invoice")
+ then CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unspent_receiver_credit")
+ then CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit
+ else CustomerBalanceTransactionType'EnumOther val)
+-- | Defines the data type for the schema deleted_external_account
+--
+--
+data DeletedExternalAccount = DeletedExternalAccount {
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ deletedExternalAccountCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | deleted: Always true for a deleted object
+ , deletedExternalAccountDeleted :: (GHC.Maybe.Maybe DeletedExternalAccountDeleted')
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , deletedExternalAccountId :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , deletedExternalAccountObject :: (GHC.Maybe.Maybe DeletedExternalAccountObject')
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedExternalAccount
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "currency" (deletedExternalAccountCurrency obj) : (Data.Aeson..=) "deleted" (deletedExternalAccountDeleted obj) : (Data.Aeson..=) "id" (deletedExternalAccountId obj) : (Data.Aeson..=) "object" (deletedExternalAccountObject obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "currency" (deletedExternalAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "deleted" (deletedExternalAccountDeleted obj) GHC.Base.<> ((Data.Aeson..=) "id" (deletedExternalAccountId obj) GHC.Base.<> (Data.Aeson..=) "object" (deletedExternalAccountObject obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON DeletedExternalAccount
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "DeletedExternalAccount" (\obj -> (((GHC.Base.pure DeletedExternalAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "deleted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object"))
+-- | Defines the enum schema deleted_external_accountDeleted\'
+--
+-- Always true for a deleted object
+data DeletedExternalAccountDeleted'
+ = DeletedExternalAccountDeleted'EnumOther Data.Aeson.Types.Internal.Value
+ | DeletedExternalAccountDeleted'EnumTyped GHC.Types.Bool
+ | DeletedExternalAccountDeleted'EnumBoolTrue
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedExternalAccountDeleted'
+ where toJSON (DeletedExternalAccountDeleted'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedExternalAccountDeleted'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedExternalAccountDeleted'EnumBoolTrue) = Data.Aeson.Types.Internal.Bool GHC.Types.True
+instance Data.Aeson.FromJSON DeletedExternalAccountDeleted'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== Data.Aeson.Types.Internal.Bool GHC.Types.True
+ then DeletedExternalAccountDeleted'EnumBoolTrue
+ else DeletedExternalAccountDeleted'EnumOther val)
+-- | Defines the enum schema deleted_external_accountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data DeletedExternalAccountObject'
+ = DeletedExternalAccountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | DeletedExternalAccountObject'EnumTyped GHC.Base.String
+ | DeletedExternalAccountObject'EnumStringBankAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedExternalAccountObject'
+ where toJSON (DeletedExternalAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedExternalAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedExternalAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account"
+instance Data.Aeson.FromJSON DeletedExternalAccountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account")
+ then DeletedExternalAccountObject'EnumStringBankAccount
+ else DeletedExternalAccountObject'EnumOther val)
+-- | Defines the data type for the schema deleted_payment_source
+--
+--
+data DeletedPaymentSource = DeletedPaymentSource {
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ deletedPaymentSourceCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | deleted: Always true for a deleted object
+ , deletedPaymentSourceDeleted :: (GHC.Maybe.Maybe DeletedPaymentSourceDeleted')
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , deletedPaymentSourceId :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , deletedPaymentSourceObject :: (GHC.Maybe.Maybe DeletedPaymentSourceObject')
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedPaymentSource
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "currency" (deletedPaymentSourceCurrency obj) : (Data.Aeson..=) "deleted" (deletedPaymentSourceDeleted obj) : (Data.Aeson..=) "id" (deletedPaymentSourceId obj) : (Data.Aeson..=) "object" (deletedPaymentSourceObject obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "currency" (deletedPaymentSourceCurrency obj) GHC.Base.<> ((Data.Aeson..=) "deleted" (deletedPaymentSourceDeleted obj) GHC.Base.<> ((Data.Aeson..=) "id" (deletedPaymentSourceId obj) GHC.Base.<> (Data.Aeson..=) "object" (deletedPaymentSourceObject obj))))
+instance Data.Aeson.Types.FromJSON.FromJSON DeletedPaymentSource
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "DeletedPaymentSource" (\obj -> (((GHC.Base.pure DeletedPaymentSource GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "deleted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object"))
+-- | Defines the enum schema deleted_payment_sourceDeleted\'
+--
+-- Always true for a deleted object
+data DeletedPaymentSourceDeleted'
+ = DeletedPaymentSourceDeleted'EnumOther Data.Aeson.Types.Internal.Value
+ | DeletedPaymentSourceDeleted'EnumTyped GHC.Types.Bool
+ | DeletedPaymentSourceDeleted'EnumBoolTrue
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedPaymentSourceDeleted'
+ where toJSON (DeletedPaymentSourceDeleted'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedPaymentSourceDeleted'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedPaymentSourceDeleted'EnumBoolTrue) = Data.Aeson.Types.Internal.Bool GHC.Types.True
+instance Data.Aeson.FromJSON DeletedPaymentSourceDeleted'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== Data.Aeson.Types.Internal.Bool GHC.Types.True
+ then DeletedPaymentSourceDeleted'EnumBoolTrue
+ else DeletedPaymentSourceDeleted'EnumOther val)
+-- | Defines the enum schema deleted_payment_sourceObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data DeletedPaymentSourceObject'
+ = DeletedPaymentSourceObject'EnumOther Data.Aeson.Types.Internal.Value
+ | DeletedPaymentSourceObject'EnumTyped GHC.Base.String
+ | DeletedPaymentSourceObject'EnumStringAlipayAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DeletedPaymentSourceObject'
+ where toJSON (DeletedPaymentSourceObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedPaymentSourceObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DeletedPaymentSourceObject'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account"
+instance Data.Aeson.FromJSON DeletedPaymentSourceObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account")
+ then DeletedPaymentSourceObject'EnumStringAlipayAccount
+ else DeletedPaymentSourceObject'EnumOther val)
+-- | Defines the data type for the schema discount
+--
+-- A discount represents the actual application of a coupon to a particular
+-- customer. It contains information about when the discount began and when it
+-- will end.
+--
+-- Related guide: [Applying Discounts to Subscriptions](https:\/\/stripe.com\/docs\/billing\/subscriptions\/discounts).
+data Discount = Discount {
+ -- | coupon: A coupon contains information about a percent-off or amount-off discount you
+ -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or
+ -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge).
+ discountCoupon :: Coupon
+ -- | customer: The ID of the customer associated with this discount.
+ , discountCustomer :: (GHC.Maybe.Maybe DiscountCustomer'Variants)
+ -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null.
+ , discountEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , discountObject :: DiscountObject'
+ -- | start: Date that the coupon was applied.
+ , discountStart :: GHC.Integer.Type.Integer
+ -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , discountSubscription :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Discount
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (discountCoupon obj) : (Data.Aeson..=) "customer" (discountCustomer obj) : (Data.Aeson..=) "end" (discountEnd obj) : (Data.Aeson..=) "object" (discountObject obj) : (Data.Aeson..=) "start" (discountStart obj) : (Data.Aeson..=) "subscription" (discountSubscription obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (discountCoupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (discountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "end" (discountEnd obj) GHC.Base.<> ((Data.Aeson..=) "object" (discountObject obj) GHC.Base.<> ((Data.Aeson..=) "start" (discountStart obj) GHC.Base.<> (Data.Aeson..=) "subscription" (discountSubscription obj))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Discount
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Discount" (\obj -> (((((GHC.Base.pure Discount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription"))
+-- | Define the one-of schema discountCustomer\'
+--
+-- The ID of the customer associated with this discount.
+data DiscountCustomer'Variants
+ = DiscountCustomer'Customer Customer
+ | DiscountCustomer'DeletedCustomer DeletedCustomer
+ | DiscountCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DiscountCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DiscountCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema discountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data DiscountObject'
+ = DiscountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | DiscountObject'EnumTyped GHC.Base.String
+ | DiscountObject'EnumStringDiscount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DiscountObject'
+ where toJSON (DiscountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DiscountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DiscountObject'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount"
+instance Data.Aeson.FromJSON DiscountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount")
+ then DiscountObject'EnumStringDiscount
+ else DiscountObject'EnumOther val)
+-- | Defines the data type for the schema dispute
+--
+-- A dispute occurs when a customer questions your charge with their card issuer.
+-- When this happens, you\'re given the opportunity to respond to the dispute with
+-- evidence that shows that the charge is legitimate. You can find more
+-- information about the dispute process in our [Disputes and
+-- Fraud](\/docs\/disputes) documentation.
+--
+-- Related guide: [Disputes and Fraud](https:\/\/stripe.com\/docs\/disputes).
+data Dispute = Dispute {
+ -- | amount: Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).
+ disputeAmount :: GHC.Integer.Type.Integer
+ -- | balance_transactions: List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.
+ , disputeBalanceTransactions :: ([] BalanceTransaction)
+ -- | charge: ID of the charge that was disputed.
+ , disputeCharge :: DisputeCharge'Variants
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , disputeCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , disputeCurrency :: GHC.Base.String
+ -- | evidence:
+ , disputeEvidence :: DisputeEvidence
+ -- | evidence_details:
+ , disputeEvidenceDetails :: DisputeEvidenceDetails
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeId :: GHC.Base.String
+ -- | is_charge_refundable: If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.
+ , disputeIsChargeRefundable :: GHC.Types.Bool
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , disputeLivemode :: GHC.Types.Bool
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , disputeMetadata :: DisputeMetadata'
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , disputeObject :: DisputeObject'
+ -- | payment_intent: ID of the PaymentIntent that was disputed.
+ , disputePaymentIntent :: (GHC.Maybe.Maybe DisputePaymentIntent'Variants)
+ -- | reason: Reason given by cardholder for dispute. Possible values are \`bank_cannot_process\`, \`check_returned\`, \`credit_not_processed\`, \`customer_initiated\`, \`debit_not_authorized\`, \`duplicate\`, \`fraudulent\`, \`general\`, \`incorrect_account_details\`, \`insufficient_funds\`, \`product_not_received\`, \`product_unacceptable\`, \`subscription_canceled\`, or \`unrecognized\`. Read more about [dispute reasons](https:\/\/stripe.com\/docs\/disputes\/categories).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeReason :: GHC.Base.String
+ -- | status: Current status of dispute. Possible values are \`warning_needs_response\`, \`warning_under_review\`, \`warning_closed\`, \`needs_response\`, \`under_review\`, \`charge_refunded\`, \`won\`, or \`lost\`.
+ , disputeStatus :: DisputeStatus'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Dispute
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (disputeAmount obj) : (Data.Aeson..=) "balance_transactions" (disputeBalanceTransactions obj) : (Data.Aeson..=) "charge" (disputeCharge obj) : (Data.Aeson..=) "created" (disputeCreated obj) : (Data.Aeson..=) "currency" (disputeCurrency obj) : (Data.Aeson..=) "evidence" (disputeEvidence obj) : (Data.Aeson..=) "evidence_details" (disputeEvidenceDetails obj) : (Data.Aeson..=) "id" (disputeId obj) : (Data.Aeson..=) "is_charge_refundable" (disputeIsChargeRefundable obj) : (Data.Aeson..=) "livemode" (disputeLivemode obj) : (Data.Aeson..=) "metadata" (disputeMetadata obj) : (Data.Aeson..=) "object" (disputeObject obj) : (Data.Aeson..=) "payment_intent" (disputePaymentIntent obj) : (Data.Aeson..=) "reason" (disputeReason obj) : (Data.Aeson..=) "status" (disputeStatus obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (disputeAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transactions" (disputeBalanceTransactions obj) GHC.Base.<> ((Data.Aeson..=) "charge" (disputeCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (disputeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (disputeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "evidence" (disputeEvidence obj) GHC.Base.<> ((Data.Aeson..=) "evidence_details" (disputeEvidenceDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (disputeId obj) GHC.Base.<> ((Data.Aeson..=) "is_charge_refundable" (disputeIsChargeRefundable obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (disputeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (disputeMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (disputeObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (disputePaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "reason" (disputeReason obj) GHC.Base.<> (Data.Aeson..=) "status" (disputeStatus obj)))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Dispute
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Dispute" (\obj -> ((((((((((((((GHC.Base.pure Dispute GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "balance_transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "evidence")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "evidence_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "is_charge_refundable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status"))
+-- | Define the one-of schema disputeCharge\'
+--
+-- ID of the charge that was disputed.
+data DisputeCharge'Variants
+ = DisputeCharge'Charge Charge
+ | DisputeCharge'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeCharge'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeCharge'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema disputeMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data DisputeMetadata' = DisputeMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DisputeMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON DisputeMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "DisputeMetadata'" (\obj -> GHC.Base.pure DisputeMetadata')
+-- | Defines the enum schema disputeObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data DisputeObject'
+ = DisputeObject'EnumOther Data.Aeson.Types.Internal.Value
+ | DisputeObject'EnumTyped GHC.Base.String
+ | DisputeObject'EnumStringDispute
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DisputeObject'
+ where toJSON (DisputeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DisputeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DisputeObject'EnumStringDispute) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute"
+instance Data.Aeson.FromJSON DisputeObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute")
+ then DisputeObject'EnumStringDispute
+ else DisputeObject'EnumOther val)
+-- | Define the one-of schema disputePayment_intent\'
+--
+-- ID of the PaymentIntent that was disputed.
+data DisputePaymentIntent'Variants
+ = DisputePaymentIntent'PaymentIntent PaymentIntent
+ | DisputePaymentIntent'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputePaymentIntent'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputePaymentIntent'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema disputeStatus\'
+--
+-- Current status of dispute. Possible values are \`warning_needs_response\`, \`warning_under_review\`, \`warning_closed\`, \`needs_response\`, \`under_review\`, \`charge_refunded\`, \`won\`, or \`lost\`.
+data DisputeStatus'
+ = DisputeStatus'EnumOther Data.Aeson.Types.Internal.Value
+ | DisputeStatus'EnumTyped GHC.Base.String
+ | DisputeStatus'EnumStringChargeRefunded
+ | DisputeStatus'EnumStringLost
+ | DisputeStatus'EnumStringNeedsResponse
+ | DisputeStatus'EnumStringUnderReview
+ | DisputeStatus'EnumStringWarningClosed
+ | DisputeStatus'EnumStringWarningNeedsResponse
+ | DisputeStatus'EnumStringWarningUnderReview
+ | DisputeStatus'EnumStringWon
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DisputeStatus'
+ where toJSON (DisputeStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DisputeStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (DisputeStatus'EnumStringChargeRefunded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_refunded"
+ toJSON (DisputeStatus'EnumStringLost) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost"
+ toJSON (DisputeStatus'EnumStringNeedsResponse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "needs_response"
+ toJSON (DisputeStatus'EnumStringUnderReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review"
+ toJSON (DisputeStatus'EnumStringWarningClosed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_closed"
+ toJSON (DisputeStatus'EnumStringWarningNeedsResponse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_needs_response"
+ toJSON (DisputeStatus'EnumStringWarningUnderReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_under_review"
+ toJSON (DisputeStatus'EnumStringWon) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won"
+instance Data.Aeson.FromJSON DisputeStatus'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_refunded")
+ then DisputeStatus'EnumStringChargeRefunded
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost")
+ then DisputeStatus'EnumStringLost
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "needs_response")
+ then DisputeStatus'EnumStringNeedsResponse
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review")
+ then DisputeStatus'EnumStringUnderReview
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_closed")
+ then DisputeStatus'EnumStringWarningClosed
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_needs_response")
+ then DisputeStatus'EnumStringWarningNeedsResponse
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_under_review")
+ then DisputeStatus'EnumStringWarningUnderReview
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won")
+ then DisputeStatus'EnumStringWon
+ else DisputeStatus'EnumOther val)
+-- | Defines the data type for the schema dispute_evidence
+--
+--
+data DisputeEvidence = DisputeEvidence {
+ -- | access_activity_log: Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ disputeEvidenceAccessActivityLog :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | billing_address: The billing address provided by the customer.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceBillingAddress :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | cancellation_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer.
+ , disputeEvidenceCancellationPolicy :: (GHC.Maybe.Maybe DisputeEvidenceCancellationPolicy'Variants)
+ -- | cancellation_policy_disclosure: An explanation of how and when the customer was shown your refund policy prior to purchase.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceCancellationPolicyDisclosure :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | cancellation_rebuttal: A justification for why the customer\'s subscription was not canceled.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceCancellationRebuttal :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer_communication: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.
+ , disputeEvidenceCustomerCommunication :: (GHC.Maybe.Maybe DisputeEvidenceCustomerCommunication'Variants)
+ -- | customer_email_address: The email address of the customer.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceCustomerEmailAddress :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer_name: The name of the customer.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceCustomerName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer_purchase_ip: The IP address that the customer used when making the purchase.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceCustomerPurchaseIp :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer_signature: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature.
+ , disputeEvidenceCustomerSignature :: (GHC.Maybe.Maybe DisputeEvidenceCustomerSignature'Variants)
+ -- | duplicate_charge_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.
+ , disputeEvidenceDuplicateChargeDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants)
+ -- | duplicate_charge_explanation: An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceDuplicateChargeExplanation :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | duplicate_charge_id: The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceDuplicateChargeId :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | product_description: A description of the product or service that was sold.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceProductDescription :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | receipt: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge.
+ , disputeEvidenceReceipt :: (GHC.Maybe.Maybe DisputeEvidenceReceipt'Variants)
+ -- | refund_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer.
+ , disputeEvidenceRefundPolicy :: (GHC.Maybe.Maybe DisputeEvidenceRefundPolicy'Variants)
+ -- | refund_policy_disclosure: Documentation demonstrating that the customer was shown your refund policy prior to purchase.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceRefundPolicyDisclosure :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | refund_refusal_explanation: A justification for why the customer is not entitled to a refund.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceRefundRefusalExplanation :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | service_date: The date on which the customer received or began receiving the purchased service, in a clear human-readable format.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceServiceDate :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | service_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.
+ , disputeEvidenceServiceDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceServiceDocumentation'Variants)
+ -- | shipping_address: The address to which a physical product was shipped. You should try to include as complete address information as possible.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceShippingAddress :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | shipping_carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceShippingCarrier :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | shipping_date: The date on which a physical product began its route to the shipping address, in a clear human-readable format.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceShippingDate :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | shipping_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible.
+ , disputeEvidenceShippingDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceShippingDocumentation'Variants)
+ -- | shipping_tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , disputeEvidenceShippingTrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements.
+ , disputeEvidenceUncategorizedFile :: (GHC.Maybe.Maybe DisputeEvidenceUncategorizedFile'Variants)
+ -- | uncategorized_text: Any additional evidence or statements.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 150000
+ , disputeEvidenceUncategorizedText :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON DisputeEvidence
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "access_activity_log" (disputeEvidenceAccessActivityLog obj) : (Data.Aeson..=) "billing_address" (disputeEvidenceBillingAddress obj) : (Data.Aeson..=) "cancellation_policy" (disputeEvidenceCancellationPolicy obj) : (Data.Aeson..=) "cancellation_policy_disclosure" (disputeEvidenceCancellationPolicyDisclosure obj) : (Data.Aeson..=) "cancellation_rebuttal" (disputeEvidenceCancellationRebuttal obj) : (Data.Aeson..=) "customer_communication" (disputeEvidenceCustomerCommunication obj) : (Data.Aeson..=) "customer_email_address" (disputeEvidenceCustomerEmailAddress obj) : (Data.Aeson..=) "customer_name" (disputeEvidenceCustomerName obj) : (Data.Aeson..=) "customer_purchase_ip" (disputeEvidenceCustomerPurchaseIp obj) : (Data.Aeson..=) "customer_signature" (disputeEvidenceCustomerSignature obj) : (Data.Aeson..=) "duplicate_charge_documentation" (disputeEvidenceDuplicateChargeDocumentation obj) : (Data.Aeson..=) "duplicate_charge_explanation" (disputeEvidenceDuplicateChargeExplanation obj) : (Data.Aeson..=) "duplicate_charge_id" (disputeEvidenceDuplicateChargeId obj) : (Data.Aeson..=) "product_description" (disputeEvidenceProductDescription obj) : (Data.Aeson..=) "receipt" (disputeEvidenceReceipt obj) : (Data.Aeson..=) "refund_policy" (disputeEvidenceRefundPolicy obj) : (Data.Aeson..=) "refund_policy_disclosure" (disputeEvidenceRefundPolicyDisclosure obj) : (Data.Aeson..=) "refund_refusal_explanation" (disputeEvidenceRefundRefusalExplanation obj) : (Data.Aeson..=) "service_date" (disputeEvidenceServiceDate obj) : (Data.Aeson..=) "service_documentation" (disputeEvidenceServiceDocumentation obj) : (Data.Aeson..=) "shipping_address" (disputeEvidenceShippingAddress obj) : (Data.Aeson..=) "shipping_carrier" (disputeEvidenceShippingCarrier obj) : (Data.Aeson..=) "shipping_date" (disputeEvidenceShippingDate obj) : (Data.Aeson..=) "shipping_documentation" (disputeEvidenceShippingDocumentation obj) : (Data.Aeson..=) "shipping_tracking_number" (disputeEvidenceShippingTrackingNumber obj) : (Data.Aeson..=) "uncategorized_file" (disputeEvidenceUncategorizedFile obj) : (Data.Aeson..=) "uncategorized_text" (disputeEvidenceUncategorizedText obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "access_activity_log" (disputeEvidenceAccessActivityLog obj) GHC.Base.<> ((Data.Aeson..=) "billing_address" (disputeEvidenceBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_policy" (disputeEvidenceCancellationPolicy obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_policy_disclosure" (disputeEvidenceCancellationPolicyDisclosure obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_rebuttal" (disputeEvidenceCancellationRebuttal obj) GHC.Base.<> ((Data.Aeson..=) "customer_communication" (disputeEvidenceCustomerCommunication obj) GHC.Base.<> ((Data.Aeson..=) "customer_email_address" (disputeEvidenceCustomerEmailAddress obj) GHC.Base.<> ((Data.Aeson..=) "customer_name" (disputeEvidenceCustomerName obj) GHC.Base.<> ((Data.Aeson..=) "customer_purchase_ip" (disputeEvidenceCustomerPurchaseIp obj) GHC.Base.<> ((Data.Aeson..=) "customer_signature" (disputeEvidenceCustomerSignature obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_documentation" (disputeEvidenceDuplicateChargeDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_explanation" (disputeEvidenceDuplicateChargeExplanation obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_id" (disputeEvidenceDuplicateChargeId obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (disputeEvidenceProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "receipt" (disputeEvidenceReceipt obj) GHC.Base.<> ((Data.Aeson..=) "refund_policy" (disputeEvidenceRefundPolicy obj) GHC.Base.<> ((Data.Aeson..=) "refund_policy_disclosure" (disputeEvidenceRefundPolicyDisclosure obj) GHC.Base.<> ((Data.Aeson..=) "refund_refusal_explanation" (disputeEvidenceRefundRefusalExplanation obj) GHC.Base.<> ((Data.Aeson..=) "service_date" (disputeEvidenceServiceDate obj) GHC.Base.<> ((Data.Aeson..=) "service_documentation" (disputeEvidenceServiceDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "shipping_address" (disputeEvidenceShippingAddress obj) GHC.Base.<> ((Data.Aeson..=) "shipping_carrier" (disputeEvidenceShippingCarrier obj) GHC.Base.<> ((Data.Aeson..=) "shipping_date" (disputeEvidenceShippingDate obj) GHC.Base.<> ((Data.Aeson..=) "shipping_documentation" (disputeEvidenceShippingDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "shipping_tracking_number" (disputeEvidenceShippingTrackingNumber obj) GHC.Base.<> ((Data.Aeson..=) "uncategorized_file" (disputeEvidenceUncategorizedFile obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_text" (disputeEvidenceUncategorizedText obj)))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidence
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "DisputeEvidence" (\obj -> ((((((((((((((((((((((((((GHC.Base.pure DisputeEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "access_activity_log")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_policy")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_policy_disclosure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_rebuttal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_communication")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_email_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_purchase_ip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_signature")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_policy")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_policy_disclosure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_refusal_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "service_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "service_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_tracking_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_text"))
+-- | Define the one-of schema dispute_evidenceCancellation_policy\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer.
+data DisputeEvidenceCancellationPolicy'Variants
+ = DisputeEvidenceCancellationPolicy'File File
+ | DisputeEvidenceCancellationPolicy'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceCancellationPolicy'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceCancellationPolicy'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceCustomer_communication\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.
+data DisputeEvidenceCustomerCommunication'Variants
+ = DisputeEvidenceCustomerCommunication'File File
+ | DisputeEvidenceCustomerCommunication'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceCustomerCommunication'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceCustomerCommunication'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceCustomer_signature\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature.
+data DisputeEvidenceCustomerSignature'Variants
+ = DisputeEvidenceCustomerSignature'File File
+ | DisputeEvidenceCustomerSignature'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceCustomerSignature'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceCustomerSignature'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceDuplicate_charge_documentation\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.
+data DisputeEvidenceDuplicateChargeDocumentation'Variants
+ = DisputeEvidenceDuplicateChargeDocumentation'File File
+ | DisputeEvidenceDuplicateChargeDocumentation'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceDuplicateChargeDocumentation'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceDuplicateChargeDocumentation'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceReceipt\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge.
+data DisputeEvidenceReceipt'Variants
+ = DisputeEvidenceReceipt'File File
+ | DisputeEvidenceReceipt'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceReceipt'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceReceipt'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceRefund_policy\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer.
+data DisputeEvidenceRefundPolicy'Variants
+ = DisputeEvidenceRefundPolicy'File File
+ | DisputeEvidenceRefundPolicy'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceRefundPolicy'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceRefundPolicy'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceService_documentation\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.
+data DisputeEvidenceServiceDocumentation'Variants
+ = DisputeEvidenceServiceDocumentation'File File
+ | DisputeEvidenceServiceDocumentation'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceServiceDocumentation'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceServiceDocumentation'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceShipping_documentation\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible.
+data DisputeEvidenceShippingDocumentation'Variants
+ = DisputeEvidenceShippingDocumentation'File File
+ | DisputeEvidenceShippingDocumentation'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceShippingDocumentation'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceShippingDocumentation'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema dispute_evidenceUncategorized_file\'
+--
+-- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements.
+data DisputeEvidenceUncategorizedFile'Variants
+ = DisputeEvidenceUncategorizedFile'File File
+ | DisputeEvidenceUncategorizedFile'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON DisputeEvidenceUncategorizedFile'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON DisputeEvidenceUncategorizedFile'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema error
+--
+-- An error response from the Stripe API
+data Error = Error {
+ -- | error:
+ errorError :: ApiErrors
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Error
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "error" (errorError obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "error" (errorError obj))
+instance Data.Aeson.Types.FromJSON.FromJSON Error
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Error" (\obj -> GHC.Base.pure Error GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "error"))
+-- | Defines the data type for the schema event
+--
+-- Events are our way of letting you know when something interesting happens in
+-- your account. When an interesting event occurs, we create a new \`Event\`
+-- object. For example, when a charge succeeds, we create a \`charge.succeeded\`
+-- event; and when an invoice payment attempt fails, we create an
+-- \`invoice.payment_failed\` event. Note that many API requests may cause multiple
+-- events to be created. For example, if you create a new subscription for a
+-- customer, you will receive both a \`customer.subscription.created\` event and a
+-- \`charge.succeeded\` event.
+--
+-- Events occur when the state of another API resource changes. The state of that
+-- resource at the time of the change is embedded in the event\'s data field. For
+-- example, a \`charge.succeeded\` event will contain a charge, and an
+-- \`invoice.payment_failed\` event will contain an invoice.
+--
+-- As with other API resources, you can use endpoints to retrieve an
+-- [individual event](https:\/\/stripe.com\/docs\/api\#retrieve_event) or a [list of events](https:\/\/stripe.com\/docs\/api\#list_events)
+-- from the API. We also have a separate
+-- [webhooks](http:\/\/en.wikipedia.org\/wiki\/Webhook) system for sending the
+-- \`Event\` objects directly to an endpoint on your server. Webhooks are managed
+-- in your
+-- [account settings](https:\/\/dashboard.stripe.com\/account\/webhooks\'),
+-- and our [Using Webhooks](https:\/\/stripe.com\/docs\/webhooks) guide will help you get set up.
+--
+-- When using [Connect](https:\/\/stripe.com\/docs\/connect), you can also receive notifications of
+-- events that occur in connected accounts. For these events, there will be an
+-- additional \`account\` attribute in the received \`Event\` object.
+--
+-- **NOTE:** Right now, access to events through the [Retrieve Event API](https:\/\/stripe.com\/docs\/api\#retrieve_event) is
+-- guaranteed only for 30 days.
+data Event = Event {
+ -- | account: The connected account that originated the event.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ eventAccount :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | api_version: The Stripe API version used to render \`data\`. *Note: This property is populated only for events on or after October 31, 2014*.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , eventApiVersion :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , eventCreated :: GHC.Integer.Type.Integer
+ -- | data:
+ , eventData :: NotificationEventData
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , eventId :: GHC.Base.String
+ -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
+ , eventLivemode :: GHC.Types.Bool
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , eventObject :: EventObject'
+ -- | pending_webhooks: Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you\'ve specified.
+ , eventPendingWebhooks :: GHC.Integer.Type.Integer
+ -- | request: Information on the API request that instigated the event.
+ , eventRequest :: (GHC.Maybe.Maybe EventRequest')
+ -- | type: Description of the event (e.g., \`invoice.created\` or \`charge.refunded\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , eventType :: GHC.Base.String
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON Event
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (eventAccount obj) : (Data.Aeson..=) "api_version" (eventApiVersion obj) : (Data.Aeson..=) "created" (eventCreated obj) : (Data.Aeson..=) "data" (eventData obj) : (Data.Aeson..=) "id" (eventId obj) : (Data.Aeson..=) "livemode" (eventLivemode obj) : (Data.Aeson..=) "object" (eventObject obj) : (Data.Aeson..=) "pending_webhooks" (eventPendingWebhooks obj) : (Data.Aeson..=) "request" (eventRequest obj) : (Data.Aeson..=) "type" (eventType obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (eventAccount obj) GHC.Base.<> ((Data.Aeson..=) "api_version" (eventApiVersion obj) GHC.Base.<> ((Data.Aeson..=) "created" (eventCreated obj) GHC.Base.<> ((Data.Aeson..=) "data" (eventData obj) GHC.Base.<> ((Data.Aeson..=) "id" (eventId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (eventLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (eventObject obj) GHC.Base.<> ((Data.Aeson..=) "pending_webhooks" (eventPendingWebhooks obj) GHC.Base.<> ((Data.Aeson..=) "request" (eventRequest obj) GHC.Base.<> (Data.Aeson..=) "type" (eventType obj))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON Event
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "Event" (\obj -> (((((((((GHC.Base.pure Event GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "api_version")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pending_webhooks")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "request")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type"))
+-- | Defines the enum schema eventObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data EventObject'
+ = EventObject'EnumOther Data.Aeson.Types.Internal.Value
+ | EventObject'EnumTyped GHC.Base.String
+ | EventObject'EnumStringEvent
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON EventObject'
+ where toJSON (EventObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (EventObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (EventObject'EnumStringEvent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "event"
+instance Data.Aeson.FromJSON EventObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "event")
+ then EventObject'EnumStringEvent
+ else EventObject'EnumOther val)
+-- | Defines the data type for the schema eventRequest\'
+--
+-- Information on the API request that instigated the event.
+data EventRequest' = EventRequest' {
+ -- | id: ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe\'s automatic subscription handling). Request logs are available in the [dashboard](https:\/\/dashboard.stripe.com\/logs), but currently not in the API.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ eventRequest'Id :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | idempotency_key: The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , eventRequest'IdempotencyKey :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON EventRequest'
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "id" (eventRequest'Id obj) : (Data.Aeson..=) "idempotency_key" (eventRequest'IdempotencyKey obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "id" (eventRequest'Id obj) GHC.Base.<> (Data.Aeson..=) "idempotency_key" (eventRequest'IdempotencyKey obj))
+instance Data.Aeson.Types.FromJSON.FromJSON EventRequest'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "EventRequest'" (\obj -> (GHC.Base.pure EventRequest' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "idempotency_key"))
+-- | Defines the data type for the schema external_account
+--
+--
+data ExternalAccount = ExternalAccount {
+ -- | account: The ID of the account that the bank account is associated with.
+ externalAccountAccount :: (GHC.Maybe.Maybe ExternalAccountAccount'Variants)
+ -- | account_holder_name: The name of the person or business that owns the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_city: City\/District\/Suburb\/Town\/Village.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressCity :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_country: Billing address country, if provided when creating card.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_state: State\/County\/Province\/Region.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressState :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip: ZIP or postal code.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressZip :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountAddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer.
+ , externalAccountAvailablePayoutMethods :: (GHC.Maybe.Maybe ([] ExternalAccountAvailablePayoutMethods'))
+ -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountBankName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountBrand :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | country: Two-letter ISO code representing the country the bank account is located in.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountCountry :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
+ , externalAccountCurrency :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | customer: The ID of the customer that the bank account is associated with.
+ , externalAccountCustomer :: (GHC.Maybe.Maybe ExternalAccountCustomer'Variants)
+ -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountCvcCheck :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | default_for_currency: Whether this bank account is the default external account for its currency.
+ , externalAccountDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool)
+ -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | exp_month: Two-digit number representing the card\'s expiration month.
+ , externalAccountExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | exp_year: Four-digit number representing the card\'s expiration year.
+ , externalAccountExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer)
+ -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountFingerprint :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountFunding :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountId :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | last4: The last four digits of the bank account number.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountLast4 :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , externalAccountMetadata :: (GHC.Maybe.Maybe ExternalAccountMetadata')
+ -- | name: Cardholder name.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountName :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , externalAccountObject :: (GHC.Maybe.Maybe ExternalAccountObject')
+ -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+ , externalAccountRecipient :: (GHC.Maybe.Maybe ExternalAccountRecipient'Variants)
+ -- | routing_number: The routing transit number for the bank account.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountRoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
+ --
+ -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountStatus :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , externalAccountTokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String)
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ExternalAccount
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (externalAccountAccount obj) : (Data.Aeson..=) "account_holder_name" (externalAccountAccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (externalAccountAccountHolderType obj) : (Data.Aeson..=) "address_city" (externalAccountAddressCity obj) : (Data.Aeson..=) "address_country" (externalAccountAddressCountry obj) : (Data.Aeson..=) "address_line1" (externalAccountAddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (externalAccountAddressLine1Check obj) : (Data.Aeson..=) "address_line2" (externalAccountAddressLine2 obj) : (Data.Aeson..=) "address_state" (externalAccountAddressState obj) : (Data.Aeson..=) "address_zip" (externalAccountAddressZip obj) : (Data.Aeson..=) "address_zip_check" (externalAccountAddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (externalAccountAvailablePayoutMethods obj) : (Data.Aeson..=) "bank_name" (externalAccountBankName obj) : (Data.Aeson..=) "brand" (externalAccountBrand obj) : (Data.Aeson..=) "country" (externalAccountCountry obj) : (Data.Aeson..=) "currency" (externalAccountCurrency obj) : (Data.Aeson..=) "customer" (externalAccountCustomer obj) : (Data.Aeson..=) "cvc_check" (externalAccountCvcCheck obj) : (Data.Aeson..=) "default_for_currency" (externalAccountDefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (externalAccountDynamicLast4 obj) : (Data.Aeson..=) "exp_month" (externalAccountExpMonth obj) : (Data.Aeson..=) "exp_year" (externalAccountExpYear obj) : (Data.Aeson..=) "fingerprint" (externalAccountFingerprint obj) : (Data.Aeson..=) "funding" (externalAccountFunding obj) : (Data.Aeson..=) "id" (externalAccountId obj) : (Data.Aeson..=) "last4" (externalAccountLast4 obj) : (Data.Aeson..=) "metadata" (externalAccountMetadata obj) : (Data.Aeson..=) "name" (externalAccountName obj) : (Data.Aeson..=) "object" (externalAccountObject obj) : (Data.Aeson..=) "recipient" (externalAccountRecipient obj) : (Data.Aeson..=) "routing_number" (externalAccountRoutingNumber obj) : (Data.Aeson..=) "status" (externalAccountStatus obj) : (Data.Aeson..=) "tokenization_method" (externalAccountTokenizationMethod obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (externalAccountAccount obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (externalAccountAccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (externalAccountAccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (externalAccountAddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (externalAccountAddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (externalAccountAddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (externalAccountAddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (externalAccountAddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (externalAccountAddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (externalAccountAddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (externalAccountAddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (externalAccountAvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (externalAccountBankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (externalAccountBrand obj) GHC.Base.<> ((Data.Aeson..=) "country" (externalAccountCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (externalAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (externalAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (externalAccountCvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (externalAccountDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (externalAccountDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (externalAccountExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (externalAccountExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (externalAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (externalAccountFunding obj) GHC.Base.<> ((Data.Aeson..=) "id" (externalAccountId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (externalAccountLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (externalAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (externalAccountName obj) GHC.Base.<> ((Data.Aeson..=) "object" (externalAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (externalAccountRecipient obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (externalAccountRoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "status" (externalAccountStatus obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (externalAccountTokenizationMethod obj)))))))))))))))))))))))))))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON ExternalAccount
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ExternalAccount" (\obj -> ((((((((((((((((((((((((((((((((GHC.Base.pure ExternalAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method"))
+-- | Define the one-of schema external_accountAccount\'
+--
+-- The ID of the account that the bank account is associated with.
+data ExternalAccountAccount'Variants
+ = ExternalAccountAccount'Account Account
+ | ExternalAccountAccount'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ExternalAccountAccount'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ExternalAccountAccount'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the enum schema external_accountAvailable_payout_methods\'
+--
+--
+data ExternalAccountAvailablePayoutMethods'
+ = ExternalAccountAvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value
+ | ExternalAccountAvailablePayoutMethods'EnumTyped GHC.Base.String
+ | ExternalAccountAvailablePayoutMethods'EnumStringInstant
+ | ExternalAccountAvailablePayoutMethods'EnumStringStandard
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ExternalAccountAvailablePayoutMethods'
+ where toJSON (ExternalAccountAvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ExternalAccountAvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ExternalAccountAvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant"
+ toJSON (ExternalAccountAvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard"
+instance Data.Aeson.FromJSON ExternalAccountAvailablePayoutMethods'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant")
+ then ExternalAccountAvailablePayoutMethods'EnumStringInstant
+ else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard")
+ then ExternalAccountAvailablePayoutMethods'EnumStringStandard
+ else ExternalAccountAvailablePayoutMethods'EnumOther val)
+-- | Define the one-of schema external_accountCustomer\'
+--
+-- The ID of the customer that the bank account is associated with.
+data ExternalAccountCustomer'Variants
+ = ExternalAccountCustomer'Customer Customer
+ | ExternalAccountCustomer'DeletedCustomer DeletedCustomer
+ | ExternalAccountCustomer'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ExternalAccountCustomer'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ExternalAccountCustomer'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema external_accountMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data ExternalAccountMetadata' = ExternalAccountMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ExternalAccountMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON ExternalAccountMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "ExternalAccountMetadata'" (\obj -> GHC.Base.pure ExternalAccountMetadata')
+-- | Defines the enum schema external_accountObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data ExternalAccountObject'
+ = ExternalAccountObject'EnumOther Data.Aeson.Types.Internal.Value
+ | ExternalAccountObject'EnumTyped GHC.Base.String
+ | ExternalAccountObject'EnumStringBankAccount
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON ExternalAccountObject'
+ where toJSON (ExternalAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ExternalAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (ExternalAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account"
+instance Data.Aeson.FromJSON ExternalAccountObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account")
+ then ExternalAccountObject'EnumStringBankAccount
+ else ExternalAccountObject'EnumOther val)
+-- | Define the one-of schema external_accountRecipient\'
+--
+-- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
+data ExternalAccountRecipient'Variants
+ = ExternalAccountRecipient'Recipient Recipient
+ | ExternalAccountRecipient'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON ExternalAccountRecipient'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON ExternalAccountRecipient'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema fee_refund
+--
+-- \`Application Fee Refund\` objects allow you to refund an application fee that
+-- has previously been created but not yet refunded. Funds will be refunded to
+-- the Stripe account from which the fee was originally collected.
+--
+-- Related guide: [Refunding Application Fees](https:\/\/stripe.com\/docs\/connect\/destination-charges\#refunding-app-fee).
+data FeeRefund = FeeRefund {
+ -- | amount: Amount, in %s.
+ feeRefundAmount :: GHC.Integer.Type.Integer
+ -- | balance_transaction: Balance transaction that describes the impact on your account balance.
+ , feeRefundBalanceTransaction :: (GHC.Maybe.Maybe FeeRefundBalanceTransaction'Variants)
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ , feeRefundCreated :: GHC.Integer.Type.Integer
+ -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies).
+ , feeRefundCurrency :: GHC.Base.String
+ -- | fee: ID of the application fee that was refunded.
+ , feeRefundFee :: FeeRefundFee'Variants
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , feeRefundId :: GHC.Base.String
+ -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+ , feeRefundMetadata :: FeeRefundMetadata'
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , feeRefundObject :: FeeRefundObject'
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON FeeRefund
+ where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (feeRefundAmount obj) : (Data.Aeson..=) "balance_transaction" (feeRefundBalanceTransaction obj) : (Data.Aeson..=) "created" (feeRefundCreated obj) : (Data.Aeson..=) "currency" (feeRefundCurrency obj) : (Data.Aeson..=) "fee" (feeRefundFee obj) : (Data.Aeson..=) "id" (feeRefundId obj) : (Data.Aeson..=) "metadata" (feeRefundMetadata obj) : (Data.Aeson..=) "object" (feeRefundObject obj) : [])
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (feeRefundAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (feeRefundBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (feeRefundCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (feeRefundCurrency obj) GHC.Base.<> ((Data.Aeson..=) "fee" (feeRefundFee obj) GHC.Base.<> ((Data.Aeson..=) "id" (feeRefundId obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (feeRefundMetadata obj) GHC.Base.<> (Data.Aeson..=) "object" (feeRefundObject obj))))))))
+instance Data.Aeson.Types.FromJSON.FromJSON FeeRefund
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "FeeRefund" (\obj -> (((((((GHC.Base.pure FeeRefund GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object"))
+-- | Define the one-of schema fee_refundBalance_transaction\'
+--
+-- Balance transaction that describes the impact on your account balance.
+data FeeRefundBalanceTransaction'Variants
+ = FeeRefundBalanceTransaction'BalanceTransaction BalanceTransaction
+ | FeeRefundBalanceTransaction'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON FeeRefundBalanceTransaction'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON FeeRefundBalanceTransaction'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Define the one-of schema fee_refundFee\'
+--
+-- ID of the application fee that was refunded.
+data FeeRefundFee'Variants
+ = FeeRefundFee'ApplicationFee ApplicationFee
+ | FeeRefundFee'String GHC.Base.String
+ deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic)
+instance Data.Aeson.ToJSON FeeRefundFee'Variants
+ where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+instance Data.Aeson.FromJSON FeeRefundFee'Variants
+ where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}
+-- | Defines the data type for the schema fee_refundMetadata\'
+--
+-- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
+data FeeRefundMetadata' = FeeRefundMetadata' {
+
+ } deriving (GHC.Show.Show
+ , GHC.Classes.Eq)
+instance Data.Aeson.ToJSON FeeRefundMetadata'
+ where toJSON obj = Data.Aeson.object []
+ toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String))
+instance Data.Aeson.Types.FromJSON.FromJSON FeeRefundMetadata'
+ where parseJSON = Data.Aeson.Types.FromJSON.withObject "FeeRefundMetadata'" (\obj -> GHC.Base.pure FeeRefundMetadata')
+-- | Defines the enum schema fee_refundObject\'
+--
+-- String representing the object\'s type. Objects of the same type share the same value.
+data FeeRefundObject'
+ = FeeRefundObject'EnumOther Data.Aeson.Types.Internal.Value
+ | FeeRefundObject'EnumTyped GHC.Base.String
+ | FeeRefundObject'EnumStringFeeRefund
+ deriving (GHC.Show.Show, GHC.Classes.Eq)
+instance Data.Aeson.ToJSON FeeRefundObject'
+ where toJSON (FeeRefundObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (FeeRefundObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName
+ toJSON (FeeRefundObject'EnumStringFeeRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fee_refund"
+instance Data.Aeson.FromJSON FeeRefundObject'
+ where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fee_refund")
+ then FeeRefundObject'EnumStringFeeRefund
+ else FeeRefundObject'EnumOther val)
+-- | Defines the data type for the schema file
+--
+-- This is an object representing a file hosted on Stripe\'s servers. The
+-- file may have been uploaded by yourself using the [create file](https:\/\/stripe.com\/docs\/api\#create_file)
+-- request (for example, when uploading dispute evidence) or it may have
+-- been created by Stripe (for example, the results of a [Sigma scheduled
+-- query](\#scheduled_queries)).
+--
+-- Related guide: [File Upload Guide](https:\/\/stripe.com\/docs\/file-upload).
+data File = File {
+ -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
+ fileCreated :: GHC.Integer.Type.Integer
+ -- | filename: A filename for the file, suitable for saving to a filesystem.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , fileFilename :: (GHC.Maybe.Maybe GHC.Base.String)
+ -- | id: Unique identifier for the object.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , fileId :: GHC.Base.String
+ -- | links: A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file.
+ , fileLinks :: (GHC.Maybe.Maybe FileLinks')
+ -- | object: String representing the object\'s type. Objects of the same type share the same value.
+ , fileObject :: FileObject'
+ -- | purpose: The purpose of the file. Possible values are \`additional_verification\`, \`business_icon\`, \`business_logo\`, \`customer_signature\`, \`dispute_evidence\`, \`finance_report_run\`, \`identity_document\`, \`pci_document\`, \`sigma_scheduled_query\`, or \`tax_document_user_upload\`.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , filePurpose :: GHC.Base.String
+ -- | size: The size in bytes of the file object.
+ , fileSize :: GHC.Integer.Type.Integer
+ -- | title: A user friendly title for the document.
+ --
+ -- Constraints:
+ --
+ -- * Maximum length of 5000
+ , fileTitle :: (GHC.Maybe.Maybe GHC.Base.String)
+