Skip to main content

stripe_issuing/issuing_transaction/
requests.rs

1use stripe_client_core::{
2    RequestBuilder, StripeBlockingClient, StripeClient, StripeMethod, StripeRequest,
3};
4
5#[derive(Clone, Eq, PartialEq)]
6#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
7#[derive(serde::Serialize)]
8struct ListIssuingTransactionBuilder {
9    #[serde(skip_serializing_if = "Option::is_none")]
10    card: Option<String>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    cardholder: Option<String>,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    created: Option<stripe_types::RangeQueryTs>,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    ending_before: Option<String>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    expand: Option<Vec<String>>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    limit: Option<i64>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    starting_after: Option<String>,
23    #[serde(rename = "type")]
24    #[serde(skip_serializing_if = "Option::is_none")]
25    type_: Option<stripe_shared::IssuingTransactionType>,
26}
27#[cfg(feature = "redact-generated-debug")]
28impl std::fmt::Debug for ListIssuingTransactionBuilder {
29    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
30        f.debug_struct("ListIssuingTransactionBuilder").finish_non_exhaustive()
31    }
32}
33impl ListIssuingTransactionBuilder {
34    fn new() -> Self {
35        Self {
36            card: None,
37            cardholder: None,
38            created: None,
39            ending_before: None,
40            expand: None,
41            limit: None,
42            starting_after: None,
43            type_: None,
44        }
45    }
46}
47/// Returns a list of Issuing `Transaction` objects.
48/// The objects are sorted in descending order by creation date, with the most recently created object appearing first.
49#[derive(Clone)]
50#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
51#[derive(serde::Serialize)]
52pub struct ListIssuingTransaction {
53    inner: ListIssuingTransactionBuilder,
54}
55#[cfg(feature = "redact-generated-debug")]
56impl std::fmt::Debug for ListIssuingTransaction {
57    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
58        f.debug_struct("ListIssuingTransaction").finish_non_exhaustive()
59    }
60}
61impl ListIssuingTransaction {
62    /// Construct a new `ListIssuingTransaction`.
63    pub fn new() -> Self {
64        Self { inner: ListIssuingTransactionBuilder::new() }
65    }
66    /// Only return transactions that belong to the given card.
67    pub fn card(mut self, card: impl Into<String>) -> Self {
68        self.inner.card = Some(card.into());
69        self
70    }
71    /// Only return transactions that belong to the given cardholder.
72    pub fn cardholder(mut self, cardholder: impl Into<String>) -> Self {
73        self.inner.cardholder = Some(cardholder.into());
74        self
75    }
76    /// Only return transactions that were created during the given date interval.
77    pub fn created(mut self, created: impl Into<stripe_types::RangeQueryTs>) -> Self {
78        self.inner.created = Some(created.into());
79        self
80    }
81    /// A cursor for use in pagination.
82    /// `ending_before` is an object ID that defines your place in the list.
83    /// For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
84    pub fn ending_before(mut self, ending_before: impl Into<String>) -> Self {
85        self.inner.ending_before = Some(ending_before.into());
86        self
87    }
88    /// Specifies which fields in the response should be expanded.
89    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
90        self.inner.expand = Some(expand.into());
91        self
92    }
93    /// A limit on the number of objects to be returned.
94    /// Limit can range between 1 and 100, and the default is 10.
95    pub fn limit(mut self, limit: impl Into<i64>) -> Self {
96        self.inner.limit = Some(limit.into());
97        self
98    }
99    /// A cursor for use in pagination.
100    /// `starting_after` is an object ID that defines your place in the list.
101    /// For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
102    pub fn starting_after(mut self, starting_after: impl Into<String>) -> Self {
103        self.inner.starting_after = Some(starting_after.into());
104        self
105    }
106    /// Only return transactions that have the given type. One of `capture` or `refund`.
107    pub fn type_(mut self, type_: impl Into<stripe_shared::IssuingTransactionType>) -> Self {
108        self.inner.type_ = Some(type_.into());
109        self
110    }
111}
112impl Default for ListIssuingTransaction {
113    fn default() -> Self {
114        Self::new()
115    }
116}
117impl ListIssuingTransaction {
118    /// Send the request and return the deserialized response.
119    pub async fn send<C: StripeClient>(
120        &self,
121        client: &C,
122    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
123        self.customize().send(client).await
124    }
125
126    /// Send the request and return the deserialized response, blocking until completion.
127    pub fn send_blocking<C: StripeBlockingClient>(
128        &self,
129        client: &C,
130    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
131        self.customize().send_blocking(client)
132    }
133
134    pub fn paginate(
135        &self,
136    ) -> stripe_client_core::ListPaginator<stripe_types::List<stripe_shared::IssuingTransaction>>
137    {
138        stripe_client_core::ListPaginator::new_list("/issuing/transactions", &self.inner)
139    }
140}
141
142impl StripeRequest for ListIssuingTransaction {
143    type Output = stripe_types::List<stripe_shared::IssuingTransaction>;
144
145    fn build(&self) -> RequestBuilder {
146        RequestBuilder::new(StripeMethod::Get, "/issuing/transactions").query(&self.inner)
147    }
148}
149#[derive(Clone, Eq, PartialEq)]
150#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
151#[derive(serde::Serialize)]
152struct RetrieveIssuingTransactionBuilder {
153    #[serde(skip_serializing_if = "Option::is_none")]
154    expand: Option<Vec<String>>,
155}
156#[cfg(feature = "redact-generated-debug")]
157impl std::fmt::Debug for RetrieveIssuingTransactionBuilder {
158    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
159        f.debug_struct("RetrieveIssuingTransactionBuilder").finish_non_exhaustive()
160    }
161}
162impl RetrieveIssuingTransactionBuilder {
163    fn new() -> Self {
164        Self { expand: None }
165    }
166}
167/// Retrieves an Issuing `Transaction` object.
168#[derive(Clone)]
169#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
170#[derive(serde::Serialize)]
171pub struct RetrieveIssuingTransaction {
172    inner: RetrieveIssuingTransactionBuilder,
173    transaction: stripe_shared::IssuingTransactionId,
174}
175#[cfg(feature = "redact-generated-debug")]
176impl std::fmt::Debug for RetrieveIssuingTransaction {
177    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
178        f.debug_struct("RetrieveIssuingTransaction").finish_non_exhaustive()
179    }
180}
181impl RetrieveIssuingTransaction {
182    /// Construct a new `RetrieveIssuingTransaction`.
183    pub fn new(transaction: impl Into<stripe_shared::IssuingTransactionId>) -> Self {
184        Self { transaction: transaction.into(), inner: RetrieveIssuingTransactionBuilder::new() }
185    }
186    /// Specifies which fields in the response should be expanded.
187    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
188        self.inner.expand = Some(expand.into());
189        self
190    }
191}
192impl RetrieveIssuingTransaction {
193    /// Send the request and return the deserialized response.
194    pub async fn send<C: StripeClient>(
195        &self,
196        client: &C,
197    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
198        self.customize().send(client).await
199    }
200
201    /// Send the request and return the deserialized response, blocking until completion.
202    pub fn send_blocking<C: StripeBlockingClient>(
203        &self,
204        client: &C,
205    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
206        self.customize().send_blocking(client)
207    }
208}
209
210impl StripeRequest for RetrieveIssuingTransaction {
211    type Output = stripe_shared::IssuingTransaction;
212
213    fn build(&self) -> RequestBuilder {
214        let transaction = &self.transaction;
215        RequestBuilder::new(StripeMethod::Get, format!("/issuing/transactions/{transaction}"))
216            .query(&self.inner)
217    }
218}
219#[derive(Clone)]
220#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
221#[derive(serde::Serialize)]
222struct UpdateIssuingTransactionBuilder {
223    #[serde(skip_serializing_if = "Option::is_none")]
224    expand: Option<Vec<String>>,
225    #[serde(skip_serializing_if = "Option::is_none")]
226    metadata: Option<std::collections::HashMap<String, String>>,
227}
228#[cfg(feature = "redact-generated-debug")]
229impl std::fmt::Debug for UpdateIssuingTransactionBuilder {
230    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
231        f.debug_struct("UpdateIssuingTransactionBuilder").finish_non_exhaustive()
232    }
233}
234impl UpdateIssuingTransactionBuilder {
235    fn new() -> Self {
236        Self { expand: None, metadata: None }
237    }
238}
239/// Updates the specified Issuing `Transaction` object by setting the values of the parameters passed.
240/// Any parameters not provided will be left unchanged.
241#[derive(Clone)]
242#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
243#[derive(serde::Serialize)]
244pub struct UpdateIssuingTransaction {
245    inner: UpdateIssuingTransactionBuilder,
246    transaction: stripe_shared::IssuingTransactionId,
247}
248#[cfg(feature = "redact-generated-debug")]
249impl std::fmt::Debug for UpdateIssuingTransaction {
250    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
251        f.debug_struct("UpdateIssuingTransaction").finish_non_exhaustive()
252    }
253}
254impl UpdateIssuingTransaction {
255    /// Construct a new `UpdateIssuingTransaction`.
256    pub fn new(transaction: impl Into<stripe_shared::IssuingTransactionId>) -> Self {
257        Self { transaction: transaction.into(), inner: UpdateIssuingTransactionBuilder::new() }
258    }
259    /// Specifies which fields in the response should be expanded.
260    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
261        self.inner.expand = Some(expand.into());
262        self
263    }
264    /// Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object.
265    /// This can be useful for storing additional information about the object in a structured format.
266    /// Individual keys can be unset by posting an empty value to them.
267    /// All keys can be unset by posting an empty value to `metadata`.
268    pub fn metadata(
269        mut self,
270        metadata: impl Into<std::collections::HashMap<String, String>>,
271    ) -> Self {
272        self.inner.metadata = Some(metadata.into());
273        self
274    }
275}
276impl UpdateIssuingTransaction {
277    /// Send the request and return the deserialized response.
278    pub async fn send<C: StripeClient>(
279        &self,
280        client: &C,
281    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
282        self.customize().send(client).await
283    }
284
285    /// Send the request and return the deserialized response, blocking until completion.
286    pub fn send_blocking<C: StripeBlockingClient>(
287        &self,
288        client: &C,
289    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
290        self.customize().send_blocking(client)
291    }
292}
293
294impl StripeRequest for UpdateIssuingTransaction {
295    type Output = stripe_shared::IssuingTransaction;
296
297    fn build(&self) -> RequestBuilder {
298        let transaction = &self.transaction;
299        RequestBuilder::new(StripeMethod::Post, format!("/issuing/transactions/{transaction}"))
300            .form(&self.inner)
301    }
302}
303#[derive(Clone, Eq, PartialEq)]
304#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
305#[derive(serde::Serialize)]
306struct RefundIssuingTransactionBuilder {
307    #[serde(skip_serializing_if = "Option::is_none")]
308    expand: Option<Vec<String>>,
309    #[serde(skip_serializing_if = "Option::is_none")]
310    refund_amount: Option<i64>,
311}
312#[cfg(feature = "redact-generated-debug")]
313impl std::fmt::Debug for RefundIssuingTransactionBuilder {
314    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
315        f.debug_struct("RefundIssuingTransactionBuilder").finish_non_exhaustive()
316    }
317}
318impl RefundIssuingTransactionBuilder {
319    fn new() -> Self {
320        Self { expand: None, refund_amount: None }
321    }
322}
323/// Refund a test-mode Transaction.
324#[derive(Clone)]
325#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
326#[derive(serde::Serialize)]
327pub struct RefundIssuingTransaction {
328    inner: RefundIssuingTransactionBuilder,
329    transaction: String,
330}
331#[cfg(feature = "redact-generated-debug")]
332impl std::fmt::Debug for RefundIssuingTransaction {
333    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
334        f.debug_struct("RefundIssuingTransaction").finish_non_exhaustive()
335    }
336}
337impl RefundIssuingTransaction {
338    /// Construct a new `RefundIssuingTransaction`.
339    pub fn new(transaction: impl Into<String>) -> Self {
340        Self { transaction: transaction.into(), inner: RefundIssuingTransactionBuilder::new() }
341    }
342    /// Specifies which fields in the response should be expanded.
343    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
344        self.inner.expand = Some(expand.into());
345        self
346    }
347    /// The total amount to attempt to refund.
348    /// This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal).
349    pub fn refund_amount(mut self, refund_amount: impl Into<i64>) -> Self {
350        self.inner.refund_amount = Some(refund_amount.into());
351        self
352    }
353}
354impl RefundIssuingTransaction {
355    /// Send the request and return the deserialized response.
356    pub async fn send<C: StripeClient>(
357        &self,
358        client: &C,
359    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
360        self.customize().send(client).await
361    }
362
363    /// Send the request and return the deserialized response, blocking until completion.
364    pub fn send_blocking<C: StripeBlockingClient>(
365        &self,
366        client: &C,
367    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
368        self.customize().send_blocking(client)
369    }
370}
371
372impl StripeRequest for RefundIssuingTransaction {
373    type Output = stripe_shared::IssuingTransaction;
374
375    fn build(&self) -> RequestBuilder {
376        let transaction = &self.transaction;
377        RequestBuilder::new(
378            StripeMethod::Post,
379            format!("/test_helpers/issuing/transactions/{transaction}/refund"),
380        )
381        .form(&self.inner)
382    }
383}
384#[derive(Clone, Eq, PartialEq)]
385#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
386#[derive(serde::Serialize)]
387struct CreateForceCaptureIssuingTransactionBuilder {
388    amount: i64,
389    card: String,
390    #[serde(skip_serializing_if = "Option::is_none")]
391    currency: Option<stripe_types::Currency>,
392    #[serde(skip_serializing_if = "Option::is_none")]
393    expand: Option<Vec<String>>,
394    #[serde(skip_serializing_if = "Option::is_none")]
395    merchant_data: Option<CreateForceCaptureIssuingTransactionMerchantData>,
396    #[serde(skip_serializing_if = "Option::is_none")]
397    purchase_details: Option<CreateForceCaptureIssuingTransactionPurchaseDetails>,
398}
399#[cfg(feature = "redact-generated-debug")]
400impl std::fmt::Debug for CreateForceCaptureIssuingTransactionBuilder {
401    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
402        f.debug_struct("CreateForceCaptureIssuingTransactionBuilder").finish_non_exhaustive()
403    }
404}
405impl CreateForceCaptureIssuingTransactionBuilder {
406    fn new(amount: impl Into<i64>, card: impl Into<String>) -> Self {
407        Self {
408            amount: amount.into(),
409            card: card.into(),
410            currency: None,
411            expand: None,
412            merchant_data: None,
413            purchase_details: None,
414        }
415    }
416}
417/// Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.
418#[derive(Clone, Eq, PartialEq)]
419#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
420#[derive(serde::Serialize)]
421pub struct CreateForceCaptureIssuingTransactionMerchantData {
422    /// A categorization of the seller's type of business.
423    /// See our [merchant categories guide](https://docs.stripe.com/issuing/merchant-categories) for a list of possible values.
424    #[serde(skip_serializing_if = "Option::is_none")]
425    pub category: Option<CreateForceCaptureIssuingTransactionMerchantDataCategory>,
426    /// City where the seller is located
427    #[serde(skip_serializing_if = "Option::is_none")]
428    pub city: Option<String>,
429    /// Country where the seller is located
430    #[serde(skip_serializing_if = "Option::is_none")]
431    pub country: Option<String>,
432    /// Name of the seller
433    #[serde(skip_serializing_if = "Option::is_none")]
434    pub name: Option<String>,
435    /// Identifier assigned to the seller by the card network.
436    /// Different card networks may assign different network_id fields to the same merchant.
437    #[serde(skip_serializing_if = "Option::is_none")]
438    pub network_id: Option<String>,
439    /// Postal code where the seller is located
440    #[serde(skip_serializing_if = "Option::is_none")]
441    pub postal_code: Option<String>,
442    /// State where the seller is located
443    #[serde(skip_serializing_if = "Option::is_none")]
444    pub state: Option<String>,
445    /// An ID assigned by the seller to the location of the sale.
446    #[serde(skip_serializing_if = "Option::is_none")]
447    pub terminal_id: Option<String>,
448    /// URL provided by the merchant on a 3DS request
449    #[serde(skip_serializing_if = "Option::is_none")]
450    pub url: Option<String>,
451}
452#[cfg(feature = "redact-generated-debug")]
453impl std::fmt::Debug for CreateForceCaptureIssuingTransactionMerchantData {
454    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
455        f.debug_struct("CreateForceCaptureIssuingTransactionMerchantData").finish_non_exhaustive()
456    }
457}
458impl CreateForceCaptureIssuingTransactionMerchantData {
459    pub fn new() -> Self {
460        Self {
461            category: None,
462            city: None,
463            country: None,
464            name: None,
465            network_id: None,
466            postal_code: None,
467            state: None,
468            terminal_id: None,
469            url: None,
470        }
471    }
472}
473impl Default for CreateForceCaptureIssuingTransactionMerchantData {
474    fn default() -> Self {
475        Self::new()
476    }
477}
478/// A categorization of the seller's type of business.
479/// See our [merchant categories guide](https://docs.stripe.com/issuing/merchant-categories) for a list of possible values.
480#[derive(Clone, Eq, PartialEq)]
481#[non_exhaustive]
482pub enum CreateForceCaptureIssuingTransactionMerchantDataCategory {
483    AcRefrigerationRepair,
484    AccountingBookkeepingServices,
485    AdvertisingServices,
486    AgriculturalCooperative,
487    AirlinesAirCarriers,
488    AirportsFlyingFields,
489    AmbulanceServices,
490    AmusementParksCarnivals,
491    AntiqueReproductions,
492    AntiqueShops,
493    Aquariums,
494    ArchitecturalSurveyingServices,
495    ArtDealersAndGalleries,
496    ArtistsSupplyAndCraftShops,
497    AutoAndHomeSupplyStores,
498    AutoBodyRepairShops,
499    AutoPaintShops,
500    AutoServiceShops,
501    AutomatedCashDisburse,
502    AutomatedFuelDispensers,
503    AutomobileAssociations,
504    AutomotivePartsAndAccessoriesStores,
505    AutomotiveTireStores,
506    BailAndBondPayments,
507    Bakeries,
508    BandsOrchestras,
509    BarberAndBeautyShops,
510    BettingCasinoGambling,
511    BicycleShops,
512    BilliardPoolEstablishments,
513    BoatDealers,
514    BoatRentalsAndLeases,
515    BookStores,
516    BooksPeriodicalsAndNewspapers,
517    BowlingAlleys,
518    BusLines,
519    BusinessSecretarialSchools,
520    BuyingShoppingServices,
521    CableSatelliteAndOtherPayTelevisionAndRadio,
522    CameraAndPhotographicSupplyStores,
523    CandyNutAndConfectioneryStores,
524    CarAndTruckDealersNewUsed,
525    CarAndTruckDealersUsedOnly,
526    CarRentalAgencies,
527    CarWashes,
528    CarpentryServices,
529    CarpetUpholsteryCleaning,
530    Caterers,
531    CharitableAndSocialServiceOrganizationsFundraising,
532    ChemicalsAndAlliedProducts,
533    ChildCareServices,
534    ChildrensAndInfantsWearStores,
535    ChiropodistsPodiatrists,
536    Chiropractors,
537    CigarStoresAndStands,
538    CivicSocialFraternalAssociations,
539    CleaningAndMaintenance,
540    ClothingRental,
541    CollegesUniversities,
542    CommercialEquipment,
543    CommercialFootwear,
544    CommercialPhotographyArtAndGraphics,
545    CommuterTransportAndFerries,
546    ComputerNetworkServices,
547    ComputerProgramming,
548    ComputerRepair,
549    ComputerSoftwareStores,
550    ComputersPeripheralsAndSoftware,
551    ConcreteWorkServices,
552    ConstructionMaterials,
553    ConsultingPublicRelations,
554    CorrespondenceSchools,
555    CosmeticStores,
556    CounselingServices,
557    CountryClubs,
558    CourierServices,
559    CourtCosts,
560    CreditReportingAgencies,
561    CruiseLines,
562    DairyProductsStores,
563    DanceHallStudiosSchools,
564    DatingEscortServices,
565    DentistsOrthodontists,
566    DepartmentStores,
567    DetectiveAgencies,
568    DigitalGoodsApplications,
569    DigitalGoodsGames,
570    DigitalGoodsLargeVolume,
571    DigitalGoodsMedia,
572    DirectMarketingCatalogMerchant,
573    DirectMarketingCombinationCatalogAndRetailMerchant,
574    DirectMarketingInboundTelemarketing,
575    DirectMarketingInsuranceServices,
576    DirectMarketingOther,
577    DirectMarketingOutboundTelemarketing,
578    DirectMarketingSubscription,
579    DirectMarketingTravel,
580    DiscountStores,
581    Doctors,
582    DoorToDoorSales,
583    DraperyWindowCoveringAndUpholsteryStores,
584    DrinkingPlaces,
585    DrugStoresAndPharmacies,
586    DrugsDrugProprietariesAndDruggistSundries,
587    DryCleaners,
588    DurableGoods,
589    DutyFreeStores,
590    EatingPlacesRestaurants,
591    EducationalServices,
592    ElectricRazorStores,
593    ElectricVehicleCharging,
594    ElectricalPartsAndEquipment,
595    ElectricalServices,
596    ElectronicsRepairShops,
597    ElectronicsStores,
598    ElementarySecondarySchools,
599    EmergencyServicesGcasVisaUseOnly,
600    EmploymentTempAgencies,
601    EquipmentRental,
602    ExterminatingServices,
603    FamilyClothingStores,
604    FastFoodRestaurants,
605    FinancialInstitutions,
606    FinesGovernmentAdministrativeEntities,
607    FireplaceFireplaceScreensAndAccessoriesStores,
608    FloorCoveringStores,
609    Florists,
610    FloristsSuppliesNurseryStockAndFlowers,
611    FreezerAndLockerMeatProvisioners,
612    FuelDealersNonAutomotive,
613    FuneralServicesCrematories,
614    FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances,
615    FurnitureRepairRefinishing,
616    FurriersAndFurShops,
617    GeneralServices,
618    GiftCardNoveltyAndSouvenirShops,
619    GlassPaintAndWallpaperStores,
620    GlasswareCrystalStores,
621    GolfCoursesPublic,
622    GovernmentLicensedHorseDogRacingUsRegionOnly,
623    GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly,
624    GovernmentOwnedLotteriesNonUsRegion,
625    GovernmentOwnedLotteriesUsRegionOnly,
626    GovernmentServices,
627    GroceryStoresSupermarkets,
628    HardwareEquipmentAndSupplies,
629    HardwareStores,
630    HealthAndBeautySpas,
631    HearingAidsSalesAndSupplies,
632    HeatingPlumbingAC,
633    HobbyToyAndGameShops,
634    HomeSupplyWarehouseStores,
635    Hospitals,
636    HotelsMotelsAndResorts,
637    HouseholdApplianceStores,
638    IndustrialSupplies,
639    InformationRetrievalServices,
640    InsuranceDefault,
641    InsuranceUnderwritingPremiums,
642    IntraCompanyPurchases,
643    JewelryStoresWatchesClocksAndSilverwareStores,
644    LandscapingServices,
645    Laundries,
646    LaundryCleaningServices,
647    LegalServicesAttorneys,
648    LuggageAndLeatherGoodsStores,
649    LumberBuildingMaterialsStores,
650    ManualCashDisburse,
651    MarinasServiceAndSupplies,
652    Marketplaces,
653    MasonryStoneworkAndPlaster,
654    MassageParlors,
655    MedicalAndDentalLabs,
656    MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies,
657    MedicalServices,
658    MembershipOrganizations,
659    MensAndBoysClothingAndAccessoriesStores,
660    MensWomensClothingStores,
661    MetalServiceCenters,
662    MiscellaneousApparelAndAccessoryShops,
663    MiscellaneousAutoDealers,
664    MiscellaneousBusinessServices,
665    MiscellaneousFoodStores,
666    MiscellaneousGeneralMerchandise,
667    MiscellaneousGeneralServices,
668    MiscellaneousHomeFurnishingSpecialtyStores,
669    MiscellaneousPublishingAndPrinting,
670    MiscellaneousRecreationServices,
671    MiscellaneousRepairShops,
672    MiscellaneousSpecialtyRetail,
673    MobileHomeDealers,
674    MotionPictureTheaters,
675    MotorFreightCarriersAndTrucking,
676    MotorHomesDealers,
677    MotorVehicleSuppliesAndNewParts,
678    MotorcycleShopsAndDealers,
679    MotorcycleShopsDealers,
680    MusicStoresMusicalInstrumentsPianosAndSheetMusic,
681    NewsDealersAndNewsstands,
682    NonFiMoneyOrders,
683    NonFiStoredValueCardPurchaseLoad,
684    NondurableGoods,
685    NurseriesLawnAndGardenSupplyStores,
686    NursingPersonalCare,
687    OfficeAndCommercialFurniture,
688    OpticiansEyeglasses,
689    OptometristsOphthalmologist,
690    OrthopedicGoodsProstheticDevices,
691    Osteopaths,
692    PackageStoresBeerWineAndLiquor,
693    PaintsVarnishesAndSupplies,
694    ParkingLotsGarages,
695    PassengerRailways,
696    PawnShops,
697    PetShopsPetFoodAndSupplies,
698    PetroleumAndPetroleumProducts,
699    PhotoDeveloping,
700    PhotographicPhotocopyMicrofilmEquipmentAndSupplies,
701    PhotographicStudios,
702    PictureVideoProduction,
703    PieceGoodsNotionsAndOtherDryGoods,
704    PlumbingHeatingEquipmentAndSupplies,
705    PoliticalOrganizations,
706    PostalServicesGovernmentOnly,
707    PreciousStonesAndMetalsWatchesAndJewelry,
708    ProfessionalServices,
709    PublicWarehousingAndStorage,
710    QuickCopyReproAndBlueprint,
711    Railroads,
712    RealEstateAgentsAndManagersRentals,
713    RecordStores,
714    RecreationalVehicleRentals,
715    ReligiousGoodsStores,
716    ReligiousOrganizations,
717    RoofingSidingSheetMetal,
718    SecretarialSupportServices,
719    SecurityBrokersDealers,
720    ServiceStations,
721    SewingNeedleworkFabricAndPieceGoodsStores,
722    ShoeRepairHatCleaning,
723    ShoeStores,
724    SmallApplianceRepair,
725    SnowmobileDealers,
726    SpecialTradeServices,
727    SpecialtyCleaning,
728    SportingGoodsStores,
729    SportingRecreationCamps,
730    SportsAndRidingApparelStores,
731    SportsClubsFields,
732    StampAndCoinStores,
733    StationaryOfficeSuppliesPrintingAndWritingPaper,
734    StationeryStoresOfficeAndSchoolSupplyStores,
735    SwimmingPoolsSales,
736    TUiTravelGermany,
737    TailorsAlterations,
738    TaxPaymentsGovernmentAgencies,
739    TaxPreparationServices,
740    TaxicabsLimousines,
741    TelecommunicationEquipmentAndTelephoneSales,
742    TelecommunicationServices,
743    TelegraphServices,
744    TentAndAwningShops,
745    TestingLaboratories,
746    TheatricalTicketAgencies,
747    Timeshares,
748    TireRetreadingAndRepair,
749    TollsBridgeFees,
750    TouristAttractionsAndExhibits,
751    TowingServices,
752    TrailerParksCampgrounds,
753    TransportationServices,
754    TravelAgenciesTourOperators,
755    TruckStopIteration,
756    TruckUtilityTrailerRentals,
757    TypesettingPlateMakingAndRelatedServices,
758    TypewriterStores,
759    USFederalGovernmentAgenciesOrDepartments,
760    UniformsCommercialClothing,
761    UsedMerchandiseAndSecondhandStores,
762    Utilities,
763    VarietyStores,
764    VeterinaryServices,
765    VideoAmusementGameSupplies,
766    VideoGameArcades,
767    VideoTapeRentalStores,
768    VocationalTradeSchools,
769    WatchJewelryRepair,
770    WeldingRepair,
771    WholesaleClubs,
772    WigAndToupeeStores,
773    WiresMoneyOrders,
774    WomensAccessoryAndSpecialtyShops,
775    WomensReadyToWearStores,
776    WreckingAndSalvageYards,
777    /// An unrecognized value from Stripe. Should not be used as a request parameter.
778    Unknown(String),
779}
780impl CreateForceCaptureIssuingTransactionMerchantDataCategory {
781    pub fn as_str(&self) -> &str {
782        use CreateForceCaptureIssuingTransactionMerchantDataCategory::*;
783        match self {
784            AcRefrigerationRepair => "ac_refrigeration_repair",
785            AccountingBookkeepingServices => "accounting_bookkeeping_services",
786            AdvertisingServices => "advertising_services",
787            AgriculturalCooperative => "agricultural_cooperative",
788            AirlinesAirCarriers => "airlines_air_carriers",
789            AirportsFlyingFields => "airports_flying_fields",
790            AmbulanceServices => "ambulance_services",
791            AmusementParksCarnivals => "amusement_parks_carnivals",
792            AntiqueReproductions => "antique_reproductions",
793            AntiqueShops => "antique_shops",
794            Aquariums => "aquariums",
795            ArchitecturalSurveyingServices => "architectural_surveying_services",
796            ArtDealersAndGalleries => "art_dealers_and_galleries",
797            ArtistsSupplyAndCraftShops => "artists_supply_and_craft_shops",
798            AutoAndHomeSupplyStores => "auto_and_home_supply_stores",
799            AutoBodyRepairShops => "auto_body_repair_shops",
800            AutoPaintShops => "auto_paint_shops",
801            AutoServiceShops => "auto_service_shops",
802            AutomatedCashDisburse => "automated_cash_disburse",
803            AutomatedFuelDispensers => "automated_fuel_dispensers",
804            AutomobileAssociations => "automobile_associations",
805            AutomotivePartsAndAccessoriesStores => "automotive_parts_and_accessories_stores",
806            AutomotiveTireStores => "automotive_tire_stores",
807            BailAndBondPayments => "bail_and_bond_payments",
808            Bakeries => "bakeries",
809            BandsOrchestras => "bands_orchestras",
810            BarberAndBeautyShops => "barber_and_beauty_shops",
811            BettingCasinoGambling => "betting_casino_gambling",
812            BicycleShops => "bicycle_shops",
813            BilliardPoolEstablishments => "billiard_pool_establishments",
814            BoatDealers => "boat_dealers",
815            BoatRentalsAndLeases => "boat_rentals_and_leases",
816            BookStores => "book_stores",
817            BooksPeriodicalsAndNewspapers => "books_periodicals_and_newspapers",
818            BowlingAlleys => "bowling_alleys",
819            BusLines => "bus_lines",
820            BusinessSecretarialSchools => "business_secretarial_schools",
821            BuyingShoppingServices => "buying_shopping_services",
822            CableSatelliteAndOtherPayTelevisionAndRadio => {
823                "cable_satellite_and_other_pay_television_and_radio"
824            }
825            CameraAndPhotographicSupplyStores => "camera_and_photographic_supply_stores",
826            CandyNutAndConfectioneryStores => "candy_nut_and_confectionery_stores",
827            CarAndTruckDealersNewUsed => "car_and_truck_dealers_new_used",
828            CarAndTruckDealersUsedOnly => "car_and_truck_dealers_used_only",
829            CarRentalAgencies => "car_rental_agencies",
830            CarWashes => "car_washes",
831            CarpentryServices => "carpentry_services",
832            CarpetUpholsteryCleaning => "carpet_upholstery_cleaning",
833            Caterers => "caterers",
834            CharitableAndSocialServiceOrganizationsFundraising => {
835                "charitable_and_social_service_organizations_fundraising"
836            }
837            ChemicalsAndAlliedProducts => "chemicals_and_allied_products",
838            ChildCareServices => "child_care_services",
839            ChildrensAndInfantsWearStores => "childrens_and_infants_wear_stores",
840            ChiropodistsPodiatrists => "chiropodists_podiatrists",
841            Chiropractors => "chiropractors",
842            CigarStoresAndStands => "cigar_stores_and_stands",
843            CivicSocialFraternalAssociations => "civic_social_fraternal_associations",
844            CleaningAndMaintenance => "cleaning_and_maintenance",
845            ClothingRental => "clothing_rental",
846            CollegesUniversities => "colleges_universities",
847            CommercialEquipment => "commercial_equipment",
848            CommercialFootwear => "commercial_footwear",
849            CommercialPhotographyArtAndGraphics => "commercial_photography_art_and_graphics",
850            CommuterTransportAndFerries => "commuter_transport_and_ferries",
851            ComputerNetworkServices => "computer_network_services",
852            ComputerProgramming => "computer_programming",
853            ComputerRepair => "computer_repair",
854            ComputerSoftwareStores => "computer_software_stores",
855            ComputersPeripheralsAndSoftware => "computers_peripherals_and_software",
856            ConcreteWorkServices => "concrete_work_services",
857            ConstructionMaterials => "construction_materials",
858            ConsultingPublicRelations => "consulting_public_relations",
859            CorrespondenceSchools => "correspondence_schools",
860            CosmeticStores => "cosmetic_stores",
861            CounselingServices => "counseling_services",
862            CountryClubs => "country_clubs",
863            CourierServices => "courier_services",
864            CourtCosts => "court_costs",
865            CreditReportingAgencies => "credit_reporting_agencies",
866            CruiseLines => "cruise_lines",
867            DairyProductsStores => "dairy_products_stores",
868            DanceHallStudiosSchools => "dance_hall_studios_schools",
869            DatingEscortServices => "dating_escort_services",
870            DentistsOrthodontists => "dentists_orthodontists",
871            DepartmentStores => "department_stores",
872            DetectiveAgencies => "detective_agencies",
873            DigitalGoodsApplications => "digital_goods_applications",
874            DigitalGoodsGames => "digital_goods_games",
875            DigitalGoodsLargeVolume => "digital_goods_large_volume",
876            DigitalGoodsMedia => "digital_goods_media",
877            DirectMarketingCatalogMerchant => "direct_marketing_catalog_merchant",
878            DirectMarketingCombinationCatalogAndRetailMerchant => {
879                "direct_marketing_combination_catalog_and_retail_merchant"
880            }
881            DirectMarketingInboundTelemarketing => "direct_marketing_inbound_telemarketing",
882            DirectMarketingInsuranceServices => "direct_marketing_insurance_services",
883            DirectMarketingOther => "direct_marketing_other",
884            DirectMarketingOutboundTelemarketing => "direct_marketing_outbound_telemarketing",
885            DirectMarketingSubscription => "direct_marketing_subscription",
886            DirectMarketingTravel => "direct_marketing_travel",
887            DiscountStores => "discount_stores",
888            Doctors => "doctors",
889            DoorToDoorSales => "door_to_door_sales",
890            DraperyWindowCoveringAndUpholsteryStores => {
891                "drapery_window_covering_and_upholstery_stores"
892            }
893            DrinkingPlaces => "drinking_places",
894            DrugStoresAndPharmacies => "drug_stores_and_pharmacies",
895            DrugsDrugProprietariesAndDruggistSundries => {
896                "drugs_drug_proprietaries_and_druggist_sundries"
897            }
898            DryCleaners => "dry_cleaners",
899            DurableGoods => "durable_goods",
900            DutyFreeStores => "duty_free_stores",
901            EatingPlacesRestaurants => "eating_places_restaurants",
902            EducationalServices => "educational_services",
903            ElectricRazorStores => "electric_razor_stores",
904            ElectricVehicleCharging => "electric_vehicle_charging",
905            ElectricalPartsAndEquipment => "electrical_parts_and_equipment",
906            ElectricalServices => "electrical_services",
907            ElectronicsRepairShops => "electronics_repair_shops",
908            ElectronicsStores => "electronics_stores",
909            ElementarySecondarySchools => "elementary_secondary_schools",
910            EmergencyServicesGcasVisaUseOnly => "emergency_services_gcas_visa_use_only",
911            EmploymentTempAgencies => "employment_temp_agencies",
912            EquipmentRental => "equipment_rental",
913            ExterminatingServices => "exterminating_services",
914            FamilyClothingStores => "family_clothing_stores",
915            FastFoodRestaurants => "fast_food_restaurants",
916            FinancialInstitutions => "financial_institutions",
917            FinesGovernmentAdministrativeEntities => "fines_government_administrative_entities",
918            FireplaceFireplaceScreensAndAccessoriesStores => {
919                "fireplace_fireplace_screens_and_accessories_stores"
920            }
921            FloorCoveringStores => "floor_covering_stores",
922            Florists => "florists",
923            FloristsSuppliesNurseryStockAndFlowers => "florists_supplies_nursery_stock_and_flowers",
924            FreezerAndLockerMeatProvisioners => "freezer_and_locker_meat_provisioners",
925            FuelDealersNonAutomotive => "fuel_dealers_non_automotive",
926            FuneralServicesCrematories => "funeral_services_crematories",
927            FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances => {
928                "furniture_home_furnishings_and_equipment_stores_except_appliances"
929            }
930            FurnitureRepairRefinishing => "furniture_repair_refinishing",
931            FurriersAndFurShops => "furriers_and_fur_shops",
932            GeneralServices => "general_services",
933            GiftCardNoveltyAndSouvenirShops => "gift_card_novelty_and_souvenir_shops",
934            GlassPaintAndWallpaperStores => "glass_paint_and_wallpaper_stores",
935            GlasswareCrystalStores => "glassware_crystal_stores",
936            GolfCoursesPublic => "golf_courses_public",
937            GovernmentLicensedHorseDogRacingUsRegionOnly => {
938                "government_licensed_horse_dog_racing_us_region_only"
939            }
940            GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly => {
941                "government_licensed_online_casions_online_gambling_us_region_only"
942            }
943            GovernmentOwnedLotteriesNonUsRegion => "government_owned_lotteries_non_us_region",
944            GovernmentOwnedLotteriesUsRegionOnly => "government_owned_lotteries_us_region_only",
945            GovernmentServices => "government_services",
946            GroceryStoresSupermarkets => "grocery_stores_supermarkets",
947            HardwareEquipmentAndSupplies => "hardware_equipment_and_supplies",
948            HardwareStores => "hardware_stores",
949            HealthAndBeautySpas => "health_and_beauty_spas",
950            HearingAidsSalesAndSupplies => "hearing_aids_sales_and_supplies",
951            HeatingPlumbingAC => "heating_plumbing_a_c",
952            HobbyToyAndGameShops => "hobby_toy_and_game_shops",
953            HomeSupplyWarehouseStores => "home_supply_warehouse_stores",
954            Hospitals => "hospitals",
955            HotelsMotelsAndResorts => "hotels_motels_and_resorts",
956            HouseholdApplianceStores => "household_appliance_stores",
957            IndustrialSupplies => "industrial_supplies",
958            InformationRetrievalServices => "information_retrieval_services",
959            InsuranceDefault => "insurance_default",
960            InsuranceUnderwritingPremiums => "insurance_underwriting_premiums",
961            IntraCompanyPurchases => "intra_company_purchases",
962            JewelryStoresWatchesClocksAndSilverwareStores => {
963                "jewelry_stores_watches_clocks_and_silverware_stores"
964            }
965            LandscapingServices => "landscaping_services",
966            Laundries => "laundries",
967            LaundryCleaningServices => "laundry_cleaning_services",
968            LegalServicesAttorneys => "legal_services_attorneys",
969            LuggageAndLeatherGoodsStores => "luggage_and_leather_goods_stores",
970            LumberBuildingMaterialsStores => "lumber_building_materials_stores",
971            ManualCashDisburse => "manual_cash_disburse",
972            MarinasServiceAndSupplies => "marinas_service_and_supplies",
973            Marketplaces => "marketplaces",
974            MasonryStoneworkAndPlaster => "masonry_stonework_and_plaster",
975            MassageParlors => "massage_parlors",
976            MedicalAndDentalLabs => "medical_and_dental_labs",
977            MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies => {
978                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies"
979            }
980            MedicalServices => "medical_services",
981            MembershipOrganizations => "membership_organizations",
982            MensAndBoysClothingAndAccessoriesStores => {
983                "mens_and_boys_clothing_and_accessories_stores"
984            }
985            MensWomensClothingStores => "mens_womens_clothing_stores",
986            MetalServiceCenters => "metal_service_centers",
987            MiscellaneousApparelAndAccessoryShops => "miscellaneous_apparel_and_accessory_shops",
988            MiscellaneousAutoDealers => "miscellaneous_auto_dealers",
989            MiscellaneousBusinessServices => "miscellaneous_business_services",
990            MiscellaneousFoodStores => "miscellaneous_food_stores",
991            MiscellaneousGeneralMerchandise => "miscellaneous_general_merchandise",
992            MiscellaneousGeneralServices => "miscellaneous_general_services",
993            MiscellaneousHomeFurnishingSpecialtyStores => {
994                "miscellaneous_home_furnishing_specialty_stores"
995            }
996            MiscellaneousPublishingAndPrinting => "miscellaneous_publishing_and_printing",
997            MiscellaneousRecreationServices => "miscellaneous_recreation_services",
998            MiscellaneousRepairShops => "miscellaneous_repair_shops",
999            MiscellaneousSpecialtyRetail => "miscellaneous_specialty_retail",
1000            MobileHomeDealers => "mobile_home_dealers",
1001            MotionPictureTheaters => "motion_picture_theaters",
1002            MotorFreightCarriersAndTrucking => "motor_freight_carriers_and_trucking",
1003            MotorHomesDealers => "motor_homes_dealers",
1004            MotorVehicleSuppliesAndNewParts => "motor_vehicle_supplies_and_new_parts",
1005            MotorcycleShopsAndDealers => "motorcycle_shops_and_dealers",
1006            MotorcycleShopsDealers => "motorcycle_shops_dealers",
1007            MusicStoresMusicalInstrumentsPianosAndSheetMusic => {
1008                "music_stores_musical_instruments_pianos_and_sheet_music"
1009            }
1010            NewsDealersAndNewsstands => "news_dealers_and_newsstands",
1011            NonFiMoneyOrders => "non_fi_money_orders",
1012            NonFiStoredValueCardPurchaseLoad => "non_fi_stored_value_card_purchase_load",
1013            NondurableGoods => "nondurable_goods",
1014            NurseriesLawnAndGardenSupplyStores => "nurseries_lawn_and_garden_supply_stores",
1015            NursingPersonalCare => "nursing_personal_care",
1016            OfficeAndCommercialFurniture => "office_and_commercial_furniture",
1017            OpticiansEyeglasses => "opticians_eyeglasses",
1018            OptometristsOphthalmologist => "optometrists_ophthalmologist",
1019            OrthopedicGoodsProstheticDevices => "orthopedic_goods_prosthetic_devices",
1020            Osteopaths => "osteopaths",
1021            PackageStoresBeerWineAndLiquor => "package_stores_beer_wine_and_liquor",
1022            PaintsVarnishesAndSupplies => "paints_varnishes_and_supplies",
1023            ParkingLotsGarages => "parking_lots_garages",
1024            PassengerRailways => "passenger_railways",
1025            PawnShops => "pawn_shops",
1026            PetShopsPetFoodAndSupplies => "pet_shops_pet_food_and_supplies",
1027            PetroleumAndPetroleumProducts => "petroleum_and_petroleum_products",
1028            PhotoDeveloping => "photo_developing",
1029            PhotographicPhotocopyMicrofilmEquipmentAndSupplies => {
1030                "photographic_photocopy_microfilm_equipment_and_supplies"
1031            }
1032            PhotographicStudios => "photographic_studios",
1033            PictureVideoProduction => "picture_video_production",
1034            PieceGoodsNotionsAndOtherDryGoods => "piece_goods_notions_and_other_dry_goods",
1035            PlumbingHeatingEquipmentAndSupplies => "plumbing_heating_equipment_and_supplies",
1036            PoliticalOrganizations => "political_organizations",
1037            PostalServicesGovernmentOnly => "postal_services_government_only",
1038            PreciousStonesAndMetalsWatchesAndJewelry => {
1039                "precious_stones_and_metals_watches_and_jewelry"
1040            }
1041            ProfessionalServices => "professional_services",
1042            PublicWarehousingAndStorage => "public_warehousing_and_storage",
1043            QuickCopyReproAndBlueprint => "quick_copy_repro_and_blueprint",
1044            Railroads => "railroads",
1045            RealEstateAgentsAndManagersRentals => "real_estate_agents_and_managers_rentals",
1046            RecordStores => "record_stores",
1047            RecreationalVehicleRentals => "recreational_vehicle_rentals",
1048            ReligiousGoodsStores => "religious_goods_stores",
1049            ReligiousOrganizations => "religious_organizations",
1050            RoofingSidingSheetMetal => "roofing_siding_sheet_metal",
1051            SecretarialSupportServices => "secretarial_support_services",
1052            SecurityBrokersDealers => "security_brokers_dealers",
1053            ServiceStations => "service_stations",
1054            SewingNeedleworkFabricAndPieceGoodsStores => {
1055                "sewing_needlework_fabric_and_piece_goods_stores"
1056            }
1057            ShoeRepairHatCleaning => "shoe_repair_hat_cleaning",
1058            ShoeStores => "shoe_stores",
1059            SmallApplianceRepair => "small_appliance_repair",
1060            SnowmobileDealers => "snowmobile_dealers",
1061            SpecialTradeServices => "special_trade_services",
1062            SpecialtyCleaning => "specialty_cleaning",
1063            SportingGoodsStores => "sporting_goods_stores",
1064            SportingRecreationCamps => "sporting_recreation_camps",
1065            SportsAndRidingApparelStores => "sports_and_riding_apparel_stores",
1066            SportsClubsFields => "sports_clubs_fields",
1067            StampAndCoinStores => "stamp_and_coin_stores",
1068            StationaryOfficeSuppliesPrintingAndWritingPaper => {
1069                "stationary_office_supplies_printing_and_writing_paper"
1070            }
1071            StationeryStoresOfficeAndSchoolSupplyStores => {
1072                "stationery_stores_office_and_school_supply_stores"
1073            }
1074            SwimmingPoolsSales => "swimming_pools_sales",
1075            TUiTravelGermany => "t_ui_travel_germany",
1076            TailorsAlterations => "tailors_alterations",
1077            TaxPaymentsGovernmentAgencies => "tax_payments_government_agencies",
1078            TaxPreparationServices => "tax_preparation_services",
1079            TaxicabsLimousines => "taxicabs_limousines",
1080            TelecommunicationEquipmentAndTelephoneSales => {
1081                "telecommunication_equipment_and_telephone_sales"
1082            }
1083            TelecommunicationServices => "telecommunication_services",
1084            TelegraphServices => "telegraph_services",
1085            TentAndAwningShops => "tent_and_awning_shops",
1086            TestingLaboratories => "testing_laboratories",
1087            TheatricalTicketAgencies => "theatrical_ticket_agencies",
1088            Timeshares => "timeshares",
1089            TireRetreadingAndRepair => "tire_retreading_and_repair",
1090            TollsBridgeFees => "tolls_bridge_fees",
1091            TouristAttractionsAndExhibits => "tourist_attractions_and_exhibits",
1092            TowingServices => "towing_services",
1093            TrailerParksCampgrounds => "trailer_parks_campgrounds",
1094            TransportationServices => "transportation_services",
1095            TravelAgenciesTourOperators => "travel_agencies_tour_operators",
1096            TruckStopIteration => "truck_stop_iteration",
1097            TruckUtilityTrailerRentals => "truck_utility_trailer_rentals",
1098            TypesettingPlateMakingAndRelatedServices => {
1099                "typesetting_plate_making_and_related_services"
1100            }
1101            TypewriterStores => "typewriter_stores",
1102            USFederalGovernmentAgenciesOrDepartments => {
1103                "u_s_federal_government_agencies_or_departments"
1104            }
1105            UniformsCommercialClothing => "uniforms_commercial_clothing",
1106            UsedMerchandiseAndSecondhandStores => "used_merchandise_and_secondhand_stores",
1107            Utilities => "utilities",
1108            VarietyStores => "variety_stores",
1109            VeterinaryServices => "veterinary_services",
1110            VideoAmusementGameSupplies => "video_amusement_game_supplies",
1111            VideoGameArcades => "video_game_arcades",
1112            VideoTapeRentalStores => "video_tape_rental_stores",
1113            VocationalTradeSchools => "vocational_trade_schools",
1114            WatchJewelryRepair => "watch_jewelry_repair",
1115            WeldingRepair => "welding_repair",
1116            WholesaleClubs => "wholesale_clubs",
1117            WigAndToupeeStores => "wig_and_toupee_stores",
1118            WiresMoneyOrders => "wires_money_orders",
1119            WomensAccessoryAndSpecialtyShops => "womens_accessory_and_specialty_shops",
1120            WomensReadyToWearStores => "womens_ready_to_wear_stores",
1121            WreckingAndSalvageYards => "wrecking_and_salvage_yards",
1122            Unknown(v) => v,
1123        }
1124    }
1125}
1126
1127impl std::str::FromStr for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1128    type Err = std::convert::Infallible;
1129    fn from_str(s: &str) -> Result<Self, Self::Err> {
1130        use CreateForceCaptureIssuingTransactionMerchantDataCategory::*;
1131        match s {
1132            "ac_refrigeration_repair" => Ok(AcRefrigerationRepair),
1133            "accounting_bookkeeping_services" => Ok(AccountingBookkeepingServices),
1134            "advertising_services" => Ok(AdvertisingServices),
1135            "agricultural_cooperative" => Ok(AgriculturalCooperative),
1136            "airlines_air_carriers" => Ok(AirlinesAirCarriers),
1137            "airports_flying_fields" => Ok(AirportsFlyingFields),
1138            "ambulance_services" => Ok(AmbulanceServices),
1139            "amusement_parks_carnivals" => Ok(AmusementParksCarnivals),
1140            "antique_reproductions" => Ok(AntiqueReproductions),
1141            "antique_shops" => Ok(AntiqueShops),
1142            "aquariums" => Ok(Aquariums),
1143            "architectural_surveying_services" => Ok(ArchitecturalSurveyingServices),
1144            "art_dealers_and_galleries" => Ok(ArtDealersAndGalleries),
1145            "artists_supply_and_craft_shops" => Ok(ArtistsSupplyAndCraftShops),
1146            "auto_and_home_supply_stores" => Ok(AutoAndHomeSupplyStores),
1147            "auto_body_repair_shops" => Ok(AutoBodyRepairShops),
1148            "auto_paint_shops" => Ok(AutoPaintShops),
1149            "auto_service_shops" => Ok(AutoServiceShops),
1150            "automated_cash_disburse" => Ok(AutomatedCashDisburse),
1151            "automated_fuel_dispensers" => Ok(AutomatedFuelDispensers),
1152            "automobile_associations" => Ok(AutomobileAssociations),
1153            "automotive_parts_and_accessories_stores" => Ok(AutomotivePartsAndAccessoriesStores),
1154            "automotive_tire_stores" => Ok(AutomotiveTireStores),
1155            "bail_and_bond_payments" => Ok(BailAndBondPayments),
1156            "bakeries" => Ok(Bakeries),
1157            "bands_orchestras" => Ok(BandsOrchestras),
1158            "barber_and_beauty_shops" => Ok(BarberAndBeautyShops),
1159            "betting_casino_gambling" => Ok(BettingCasinoGambling),
1160            "bicycle_shops" => Ok(BicycleShops),
1161            "billiard_pool_establishments" => Ok(BilliardPoolEstablishments),
1162            "boat_dealers" => Ok(BoatDealers),
1163            "boat_rentals_and_leases" => Ok(BoatRentalsAndLeases),
1164            "book_stores" => Ok(BookStores),
1165            "books_periodicals_and_newspapers" => Ok(BooksPeriodicalsAndNewspapers),
1166            "bowling_alleys" => Ok(BowlingAlleys),
1167            "bus_lines" => Ok(BusLines),
1168            "business_secretarial_schools" => Ok(BusinessSecretarialSchools),
1169            "buying_shopping_services" => Ok(BuyingShoppingServices),
1170            "cable_satellite_and_other_pay_television_and_radio" => {
1171                Ok(CableSatelliteAndOtherPayTelevisionAndRadio)
1172            }
1173            "camera_and_photographic_supply_stores" => Ok(CameraAndPhotographicSupplyStores),
1174            "candy_nut_and_confectionery_stores" => Ok(CandyNutAndConfectioneryStores),
1175            "car_and_truck_dealers_new_used" => Ok(CarAndTruckDealersNewUsed),
1176            "car_and_truck_dealers_used_only" => Ok(CarAndTruckDealersUsedOnly),
1177            "car_rental_agencies" => Ok(CarRentalAgencies),
1178            "car_washes" => Ok(CarWashes),
1179            "carpentry_services" => Ok(CarpentryServices),
1180            "carpet_upholstery_cleaning" => Ok(CarpetUpholsteryCleaning),
1181            "caterers" => Ok(Caterers),
1182            "charitable_and_social_service_organizations_fundraising" => {
1183                Ok(CharitableAndSocialServiceOrganizationsFundraising)
1184            }
1185            "chemicals_and_allied_products" => Ok(ChemicalsAndAlliedProducts),
1186            "child_care_services" => Ok(ChildCareServices),
1187            "childrens_and_infants_wear_stores" => Ok(ChildrensAndInfantsWearStores),
1188            "chiropodists_podiatrists" => Ok(ChiropodistsPodiatrists),
1189            "chiropractors" => Ok(Chiropractors),
1190            "cigar_stores_and_stands" => Ok(CigarStoresAndStands),
1191            "civic_social_fraternal_associations" => Ok(CivicSocialFraternalAssociations),
1192            "cleaning_and_maintenance" => Ok(CleaningAndMaintenance),
1193            "clothing_rental" => Ok(ClothingRental),
1194            "colleges_universities" => Ok(CollegesUniversities),
1195            "commercial_equipment" => Ok(CommercialEquipment),
1196            "commercial_footwear" => Ok(CommercialFootwear),
1197            "commercial_photography_art_and_graphics" => Ok(CommercialPhotographyArtAndGraphics),
1198            "commuter_transport_and_ferries" => Ok(CommuterTransportAndFerries),
1199            "computer_network_services" => Ok(ComputerNetworkServices),
1200            "computer_programming" => Ok(ComputerProgramming),
1201            "computer_repair" => Ok(ComputerRepair),
1202            "computer_software_stores" => Ok(ComputerSoftwareStores),
1203            "computers_peripherals_and_software" => Ok(ComputersPeripheralsAndSoftware),
1204            "concrete_work_services" => Ok(ConcreteWorkServices),
1205            "construction_materials" => Ok(ConstructionMaterials),
1206            "consulting_public_relations" => Ok(ConsultingPublicRelations),
1207            "correspondence_schools" => Ok(CorrespondenceSchools),
1208            "cosmetic_stores" => Ok(CosmeticStores),
1209            "counseling_services" => Ok(CounselingServices),
1210            "country_clubs" => Ok(CountryClubs),
1211            "courier_services" => Ok(CourierServices),
1212            "court_costs" => Ok(CourtCosts),
1213            "credit_reporting_agencies" => Ok(CreditReportingAgencies),
1214            "cruise_lines" => Ok(CruiseLines),
1215            "dairy_products_stores" => Ok(DairyProductsStores),
1216            "dance_hall_studios_schools" => Ok(DanceHallStudiosSchools),
1217            "dating_escort_services" => Ok(DatingEscortServices),
1218            "dentists_orthodontists" => Ok(DentistsOrthodontists),
1219            "department_stores" => Ok(DepartmentStores),
1220            "detective_agencies" => Ok(DetectiveAgencies),
1221            "digital_goods_applications" => Ok(DigitalGoodsApplications),
1222            "digital_goods_games" => Ok(DigitalGoodsGames),
1223            "digital_goods_large_volume" => Ok(DigitalGoodsLargeVolume),
1224            "digital_goods_media" => Ok(DigitalGoodsMedia),
1225            "direct_marketing_catalog_merchant" => Ok(DirectMarketingCatalogMerchant),
1226            "direct_marketing_combination_catalog_and_retail_merchant" => {
1227                Ok(DirectMarketingCombinationCatalogAndRetailMerchant)
1228            }
1229            "direct_marketing_inbound_telemarketing" => Ok(DirectMarketingInboundTelemarketing),
1230            "direct_marketing_insurance_services" => Ok(DirectMarketingInsuranceServices),
1231            "direct_marketing_other" => Ok(DirectMarketingOther),
1232            "direct_marketing_outbound_telemarketing" => Ok(DirectMarketingOutboundTelemarketing),
1233            "direct_marketing_subscription" => Ok(DirectMarketingSubscription),
1234            "direct_marketing_travel" => Ok(DirectMarketingTravel),
1235            "discount_stores" => Ok(DiscountStores),
1236            "doctors" => Ok(Doctors),
1237            "door_to_door_sales" => Ok(DoorToDoorSales),
1238            "drapery_window_covering_and_upholstery_stores" => {
1239                Ok(DraperyWindowCoveringAndUpholsteryStores)
1240            }
1241            "drinking_places" => Ok(DrinkingPlaces),
1242            "drug_stores_and_pharmacies" => Ok(DrugStoresAndPharmacies),
1243            "drugs_drug_proprietaries_and_druggist_sundries" => {
1244                Ok(DrugsDrugProprietariesAndDruggistSundries)
1245            }
1246            "dry_cleaners" => Ok(DryCleaners),
1247            "durable_goods" => Ok(DurableGoods),
1248            "duty_free_stores" => Ok(DutyFreeStores),
1249            "eating_places_restaurants" => Ok(EatingPlacesRestaurants),
1250            "educational_services" => Ok(EducationalServices),
1251            "electric_razor_stores" => Ok(ElectricRazorStores),
1252            "electric_vehicle_charging" => Ok(ElectricVehicleCharging),
1253            "electrical_parts_and_equipment" => Ok(ElectricalPartsAndEquipment),
1254            "electrical_services" => Ok(ElectricalServices),
1255            "electronics_repair_shops" => Ok(ElectronicsRepairShops),
1256            "electronics_stores" => Ok(ElectronicsStores),
1257            "elementary_secondary_schools" => Ok(ElementarySecondarySchools),
1258            "emergency_services_gcas_visa_use_only" => Ok(EmergencyServicesGcasVisaUseOnly),
1259            "employment_temp_agencies" => Ok(EmploymentTempAgencies),
1260            "equipment_rental" => Ok(EquipmentRental),
1261            "exterminating_services" => Ok(ExterminatingServices),
1262            "family_clothing_stores" => Ok(FamilyClothingStores),
1263            "fast_food_restaurants" => Ok(FastFoodRestaurants),
1264            "financial_institutions" => Ok(FinancialInstitutions),
1265            "fines_government_administrative_entities" => Ok(FinesGovernmentAdministrativeEntities),
1266            "fireplace_fireplace_screens_and_accessories_stores" => {
1267                Ok(FireplaceFireplaceScreensAndAccessoriesStores)
1268            }
1269            "floor_covering_stores" => Ok(FloorCoveringStores),
1270            "florists" => Ok(Florists),
1271            "florists_supplies_nursery_stock_and_flowers" => {
1272                Ok(FloristsSuppliesNurseryStockAndFlowers)
1273            }
1274            "freezer_and_locker_meat_provisioners" => Ok(FreezerAndLockerMeatProvisioners),
1275            "fuel_dealers_non_automotive" => Ok(FuelDealersNonAutomotive),
1276            "funeral_services_crematories" => Ok(FuneralServicesCrematories),
1277            "furniture_home_furnishings_and_equipment_stores_except_appliances" => {
1278                Ok(FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances)
1279            }
1280            "furniture_repair_refinishing" => Ok(FurnitureRepairRefinishing),
1281            "furriers_and_fur_shops" => Ok(FurriersAndFurShops),
1282            "general_services" => Ok(GeneralServices),
1283            "gift_card_novelty_and_souvenir_shops" => Ok(GiftCardNoveltyAndSouvenirShops),
1284            "glass_paint_and_wallpaper_stores" => Ok(GlassPaintAndWallpaperStores),
1285            "glassware_crystal_stores" => Ok(GlasswareCrystalStores),
1286            "golf_courses_public" => Ok(GolfCoursesPublic),
1287            "government_licensed_horse_dog_racing_us_region_only" => {
1288                Ok(GovernmentLicensedHorseDogRacingUsRegionOnly)
1289            }
1290            "government_licensed_online_casions_online_gambling_us_region_only" => {
1291                Ok(GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly)
1292            }
1293            "government_owned_lotteries_non_us_region" => Ok(GovernmentOwnedLotteriesNonUsRegion),
1294            "government_owned_lotteries_us_region_only" => Ok(GovernmentOwnedLotteriesUsRegionOnly),
1295            "government_services" => Ok(GovernmentServices),
1296            "grocery_stores_supermarkets" => Ok(GroceryStoresSupermarkets),
1297            "hardware_equipment_and_supplies" => Ok(HardwareEquipmentAndSupplies),
1298            "hardware_stores" => Ok(HardwareStores),
1299            "health_and_beauty_spas" => Ok(HealthAndBeautySpas),
1300            "hearing_aids_sales_and_supplies" => Ok(HearingAidsSalesAndSupplies),
1301            "heating_plumbing_a_c" => Ok(HeatingPlumbingAC),
1302            "hobby_toy_and_game_shops" => Ok(HobbyToyAndGameShops),
1303            "home_supply_warehouse_stores" => Ok(HomeSupplyWarehouseStores),
1304            "hospitals" => Ok(Hospitals),
1305            "hotels_motels_and_resorts" => Ok(HotelsMotelsAndResorts),
1306            "household_appliance_stores" => Ok(HouseholdApplianceStores),
1307            "industrial_supplies" => Ok(IndustrialSupplies),
1308            "information_retrieval_services" => Ok(InformationRetrievalServices),
1309            "insurance_default" => Ok(InsuranceDefault),
1310            "insurance_underwriting_premiums" => Ok(InsuranceUnderwritingPremiums),
1311            "intra_company_purchases" => Ok(IntraCompanyPurchases),
1312            "jewelry_stores_watches_clocks_and_silverware_stores" => {
1313                Ok(JewelryStoresWatchesClocksAndSilverwareStores)
1314            }
1315            "landscaping_services" => Ok(LandscapingServices),
1316            "laundries" => Ok(Laundries),
1317            "laundry_cleaning_services" => Ok(LaundryCleaningServices),
1318            "legal_services_attorneys" => Ok(LegalServicesAttorneys),
1319            "luggage_and_leather_goods_stores" => Ok(LuggageAndLeatherGoodsStores),
1320            "lumber_building_materials_stores" => Ok(LumberBuildingMaterialsStores),
1321            "manual_cash_disburse" => Ok(ManualCashDisburse),
1322            "marinas_service_and_supplies" => Ok(MarinasServiceAndSupplies),
1323            "marketplaces" => Ok(Marketplaces),
1324            "masonry_stonework_and_plaster" => Ok(MasonryStoneworkAndPlaster),
1325            "massage_parlors" => Ok(MassageParlors),
1326            "medical_and_dental_labs" => Ok(MedicalAndDentalLabs),
1327            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" => {
1328                Ok(MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies)
1329            }
1330            "medical_services" => Ok(MedicalServices),
1331            "membership_organizations" => Ok(MembershipOrganizations),
1332            "mens_and_boys_clothing_and_accessories_stores" => {
1333                Ok(MensAndBoysClothingAndAccessoriesStores)
1334            }
1335            "mens_womens_clothing_stores" => Ok(MensWomensClothingStores),
1336            "metal_service_centers" => Ok(MetalServiceCenters),
1337            "miscellaneous_apparel_and_accessory_shops" => {
1338                Ok(MiscellaneousApparelAndAccessoryShops)
1339            }
1340            "miscellaneous_auto_dealers" => Ok(MiscellaneousAutoDealers),
1341            "miscellaneous_business_services" => Ok(MiscellaneousBusinessServices),
1342            "miscellaneous_food_stores" => Ok(MiscellaneousFoodStores),
1343            "miscellaneous_general_merchandise" => Ok(MiscellaneousGeneralMerchandise),
1344            "miscellaneous_general_services" => Ok(MiscellaneousGeneralServices),
1345            "miscellaneous_home_furnishing_specialty_stores" => {
1346                Ok(MiscellaneousHomeFurnishingSpecialtyStores)
1347            }
1348            "miscellaneous_publishing_and_printing" => Ok(MiscellaneousPublishingAndPrinting),
1349            "miscellaneous_recreation_services" => Ok(MiscellaneousRecreationServices),
1350            "miscellaneous_repair_shops" => Ok(MiscellaneousRepairShops),
1351            "miscellaneous_specialty_retail" => Ok(MiscellaneousSpecialtyRetail),
1352            "mobile_home_dealers" => Ok(MobileHomeDealers),
1353            "motion_picture_theaters" => Ok(MotionPictureTheaters),
1354            "motor_freight_carriers_and_trucking" => Ok(MotorFreightCarriersAndTrucking),
1355            "motor_homes_dealers" => Ok(MotorHomesDealers),
1356            "motor_vehicle_supplies_and_new_parts" => Ok(MotorVehicleSuppliesAndNewParts),
1357            "motorcycle_shops_and_dealers" => Ok(MotorcycleShopsAndDealers),
1358            "motorcycle_shops_dealers" => Ok(MotorcycleShopsDealers),
1359            "music_stores_musical_instruments_pianos_and_sheet_music" => {
1360                Ok(MusicStoresMusicalInstrumentsPianosAndSheetMusic)
1361            }
1362            "news_dealers_and_newsstands" => Ok(NewsDealersAndNewsstands),
1363            "non_fi_money_orders" => Ok(NonFiMoneyOrders),
1364            "non_fi_stored_value_card_purchase_load" => Ok(NonFiStoredValueCardPurchaseLoad),
1365            "nondurable_goods" => Ok(NondurableGoods),
1366            "nurseries_lawn_and_garden_supply_stores" => Ok(NurseriesLawnAndGardenSupplyStores),
1367            "nursing_personal_care" => Ok(NursingPersonalCare),
1368            "office_and_commercial_furniture" => Ok(OfficeAndCommercialFurniture),
1369            "opticians_eyeglasses" => Ok(OpticiansEyeglasses),
1370            "optometrists_ophthalmologist" => Ok(OptometristsOphthalmologist),
1371            "orthopedic_goods_prosthetic_devices" => Ok(OrthopedicGoodsProstheticDevices),
1372            "osteopaths" => Ok(Osteopaths),
1373            "package_stores_beer_wine_and_liquor" => Ok(PackageStoresBeerWineAndLiquor),
1374            "paints_varnishes_and_supplies" => Ok(PaintsVarnishesAndSupplies),
1375            "parking_lots_garages" => Ok(ParkingLotsGarages),
1376            "passenger_railways" => Ok(PassengerRailways),
1377            "pawn_shops" => Ok(PawnShops),
1378            "pet_shops_pet_food_and_supplies" => Ok(PetShopsPetFoodAndSupplies),
1379            "petroleum_and_petroleum_products" => Ok(PetroleumAndPetroleumProducts),
1380            "photo_developing" => Ok(PhotoDeveloping),
1381            "photographic_photocopy_microfilm_equipment_and_supplies" => {
1382                Ok(PhotographicPhotocopyMicrofilmEquipmentAndSupplies)
1383            }
1384            "photographic_studios" => Ok(PhotographicStudios),
1385            "picture_video_production" => Ok(PictureVideoProduction),
1386            "piece_goods_notions_and_other_dry_goods" => Ok(PieceGoodsNotionsAndOtherDryGoods),
1387            "plumbing_heating_equipment_and_supplies" => Ok(PlumbingHeatingEquipmentAndSupplies),
1388            "political_organizations" => Ok(PoliticalOrganizations),
1389            "postal_services_government_only" => Ok(PostalServicesGovernmentOnly),
1390            "precious_stones_and_metals_watches_and_jewelry" => {
1391                Ok(PreciousStonesAndMetalsWatchesAndJewelry)
1392            }
1393            "professional_services" => Ok(ProfessionalServices),
1394            "public_warehousing_and_storage" => Ok(PublicWarehousingAndStorage),
1395            "quick_copy_repro_and_blueprint" => Ok(QuickCopyReproAndBlueprint),
1396            "railroads" => Ok(Railroads),
1397            "real_estate_agents_and_managers_rentals" => Ok(RealEstateAgentsAndManagersRentals),
1398            "record_stores" => Ok(RecordStores),
1399            "recreational_vehicle_rentals" => Ok(RecreationalVehicleRentals),
1400            "religious_goods_stores" => Ok(ReligiousGoodsStores),
1401            "religious_organizations" => Ok(ReligiousOrganizations),
1402            "roofing_siding_sheet_metal" => Ok(RoofingSidingSheetMetal),
1403            "secretarial_support_services" => Ok(SecretarialSupportServices),
1404            "security_brokers_dealers" => Ok(SecurityBrokersDealers),
1405            "service_stations" => Ok(ServiceStations),
1406            "sewing_needlework_fabric_and_piece_goods_stores" => {
1407                Ok(SewingNeedleworkFabricAndPieceGoodsStores)
1408            }
1409            "shoe_repair_hat_cleaning" => Ok(ShoeRepairHatCleaning),
1410            "shoe_stores" => Ok(ShoeStores),
1411            "small_appliance_repair" => Ok(SmallApplianceRepair),
1412            "snowmobile_dealers" => Ok(SnowmobileDealers),
1413            "special_trade_services" => Ok(SpecialTradeServices),
1414            "specialty_cleaning" => Ok(SpecialtyCleaning),
1415            "sporting_goods_stores" => Ok(SportingGoodsStores),
1416            "sporting_recreation_camps" => Ok(SportingRecreationCamps),
1417            "sports_and_riding_apparel_stores" => Ok(SportsAndRidingApparelStores),
1418            "sports_clubs_fields" => Ok(SportsClubsFields),
1419            "stamp_and_coin_stores" => Ok(StampAndCoinStores),
1420            "stationary_office_supplies_printing_and_writing_paper" => {
1421                Ok(StationaryOfficeSuppliesPrintingAndWritingPaper)
1422            }
1423            "stationery_stores_office_and_school_supply_stores" => {
1424                Ok(StationeryStoresOfficeAndSchoolSupplyStores)
1425            }
1426            "swimming_pools_sales" => Ok(SwimmingPoolsSales),
1427            "t_ui_travel_germany" => Ok(TUiTravelGermany),
1428            "tailors_alterations" => Ok(TailorsAlterations),
1429            "tax_payments_government_agencies" => Ok(TaxPaymentsGovernmentAgencies),
1430            "tax_preparation_services" => Ok(TaxPreparationServices),
1431            "taxicabs_limousines" => Ok(TaxicabsLimousines),
1432            "telecommunication_equipment_and_telephone_sales" => {
1433                Ok(TelecommunicationEquipmentAndTelephoneSales)
1434            }
1435            "telecommunication_services" => Ok(TelecommunicationServices),
1436            "telegraph_services" => Ok(TelegraphServices),
1437            "tent_and_awning_shops" => Ok(TentAndAwningShops),
1438            "testing_laboratories" => Ok(TestingLaboratories),
1439            "theatrical_ticket_agencies" => Ok(TheatricalTicketAgencies),
1440            "timeshares" => Ok(Timeshares),
1441            "tire_retreading_and_repair" => Ok(TireRetreadingAndRepair),
1442            "tolls_bridge_fees" => Ok(TollsBridgeFees),
1443            "tourist_attractions_and_exhibits" => Ok(TouristAttractionsAndExhibits),
1444            "towing_services" => Ok(TowingServices),
1445            "trailer_parks_campgrounds" => Ok(TrailerParksCampgrounds),
1446            "transportation_services" => Ok(TransportationServices),
1447            "travel_agencies_tour_operators" => Ok(TravelAgenciesTourOperators),
1448            "truck_stop_iteration" => Ok(TruckStopIteration),
1449            "truck_utility_trailer_rentals" => Ok(TruckUtilityTrailerRentals),
1450            "typesetting_plate_making_and_related_services" => {
1451                Ok(TypesettingPlateMakingAndRelatedServices)
1452            }
1453            "typewriter_stores" => Ok(TypewriterStores),
1454            "u_s_federal_government_agencies_or_departments" => {
1455                Ok(USFederalGovernmentAgenciesOrDepartments)
1456            }
1457            "uniforms_commercial_clothing" => Ok(UniformsCommercialClothing),
1458            "used_merchandise_and_secondhand_stores" => Ok(UsedMerchandiseAndSecondhandStores),
1459            "utilities" => Ok(Utilities),
1460            "variety_stores" => Ok(VarietyStores),
1461            "veterinary_services" => Ok(VeterinaryServices),
1462            "video_amusement_game_supplies" => Ok(VideoAmusementGameSupplies),
1463            "video_game_arcades" => Ok(VideoGameArcades),
1464            "video_tape_rental_stores" => Ok(VideoTapeRentalStores),
1465            "vocational_trade_schools" => Ok(VocationalTradeSchools),
1466            "watch_jewelry_repair" => Ok(WatchJewelryRepair),
1467            "welding_repair" => Ok(WeldingRepair),
1468            "wholesale_clubs" => Ok(WholesaleClubs),
1469            "wig_and_toupee_stores" => Ok(WigAndToupeeStores),
1470            "wires_money_orders" => Ok(WiresMoneyOrders),
1471            "womens_accessory_and_specialty_shops" => Ok(WomensAccessoryAndSpecialtyShops),
1472            "womens_ready_to_wear_stores" => Ok(WomensReadyToWearStores),
1473            "wrecking_and_salvage_yards" => Ok(WreckingAndSalvageYards),
1474            v => {
1475                tracing::warn!(
1476                    "Unknown value '{}' for enum '{}'",
1477                    v,
1478                    "CreateForceCaptureIssuingTransactionMerchantDataCategory"
1479                );
1480                Ok(Unknown(v.to_owned()))
1481            }
1482        }
1483    }
1484}
1485impl std::fmt::Display for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1486    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1487        f.write_str(self.as_str())
1488    }
1489}
1490
1491#[cfg(not(feature = "redact-generated-debug"))]
1492impl std::fmt::Debug for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1493    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1494        f.write_str(self.as_str())
1495    }
1496}
1497#[cfg(feature = "redact-generated-debug")]
1498impl std::fmt::Debug for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1499    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1500        f.debug_struct(stringify!(CreateForceCaptureIssuingTransactionMerchantDataCategory))
1501            .finish_non_exhaustive()
1502    }
1503}
1504impl serde::Serialize for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1505    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1506    where
1507        S: serde::Serializer,
1508    {
1509        serializer.serialize_str(self.as_str())
1510    }
1511}
1512#[cfg(feature = "deserialize")]
1513impl<'de> serde::Deserialize<'de> for CreateForceCaptureIssuingTransactionMerchantDataCategory {
1514    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
1515        use std::str::FromStr;
1516        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
1517        Ok(Self::from_str(&s).expect("infallible"))
1518    }
1519}
1520/// Additional purchase information that is optionally provided by the merchant.
1521#[derive(Clone, Eq, PartialEq)]
1522#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
1523#[derive(serde::Serialize)]
1524pub struct CreateForceCaptureIssuingTransactionPurchaseDetails {
1525    /// Fleet-specific information for transactions using Fleet cards.
1526    #[serde(skip_serializing_if = "Option::is_none")]
1527    pub fleet: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFleet>,
1528    /// Information about the flight that was purchased with this transaction.
1529    #[serde(skip_serializing_if = "Option::is_none")]
1530    pub flight: Option<FlightSpecs>,
1531    /// Information about fuel that was purchased with this transaction.
1532    #[serde(skip_serializing_if = "Option::is_none")]
1533    pub fuel: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFuel>,
1534    /// Information about lodging that was purchased with this transaction.
1535    #[serde(skip_serializing_if = "Option::is_none")]
1536    pub lodging: Option<LodgingSpecs>,
1537    /// The line items in the purchase.
1538    #[serde(skip_serializing_if = "Option::is_none")]
1539    pub receipt: Option<Vec<ReceiptSpecs>>,
1540    /// A merchant-specific order number.
1541    #[serde(skip_serializing_if = "Option::is_none")]
1542    pub reference: Option<String>,
1543}
1544#[cfg(feature = "redact-generated-debug")]
1545impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetails {
1546    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1547        f.debug_struct("CreateForceCaptureIssuingTransactionPurchaseDetails")
1548            .finish_non_exhaustive()
1549    }
1550}
1551impl CreateForceCaptureIssuingTransactionPurchaseDetails {
1552    pub fn new() -> Self {
1553        Self {
1554            fleet: None,
1555            flight: None,
1556            fuel: None,
1557            lodging: None,
1558            receipt: None,
1559            reference: None,
1560        }
1561    }
1562}
1563impl Default for CreateForceCaptureIssuingTransactionPurchaseDetails {
1564    fn default() -> Self {
1565        Self::new()
1566    }
1567}
1568/// Fleet-specific information for transactions using Fleet cards.
1569#[derive(Clone, Eq, PartialEq)]
1570#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
1571#[derive(serde::Serialize)]
1572pub struct CreateForceCaptureIssuingTransactionPurchaseDetailsFleet {
1573    /// Answers to prompts presented to the cardholder at the point of sale.
1574    /// Prompted fields vary depending on the configuration of your physical fleet cards.
1575    /// Typical points of sale support only numeric entry.
1576    #[serde(skip_serializing_if = "Option::is_none")]
1577    pub cardholder_prompt_data: Option<FleetCardholderPromptDataSpecs>,
1578    /// The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`.
1579    #[serde(skip_serializing_if = "Option::is_none")]
1580    pub purchase_type: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType>,
1581    /// More information about the total amount.
1582    /// This information is not guaranteed to be accurate as some merchants may provide unreliable data.
1583    #[serde(skip_serializing_if = "Option::is_none")]
1584    pub reported_breakdown: Option<FleetReportedBreakdownSpecs>,
1585    /// The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`.
1586    #[serde(skip_serializing_if = "Option::is_none")]
1587    pub service_type: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType>,
1588}
1589#[cfg(feature = "redact-generated-debug")]
1590impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFleet {
1591    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1592        f.debug_struct("CreateForceCaptureIssuingTransactionPurchaseDetailsFleet")
1593            .finish_non_exhaustive()
1594    }
1595}
1596impl CreateForceCaptureIssuingTransactionPurchaseDetailsFleet {
1597    pub fn new() -> Self {
1598        Self {
1599            cardholder_prompt_data: None,
1600            purchase_type: None,
1601            reported_breakdown: None,
1602            service_type: None,
1603        }
1604    }
1605}
1606impl Default for CreateForceCaptureIssuingTransactionPurchaseDetailsFleet {
1607    fn default() -> Self {
1608        Self::new()
1609    }
1610}
1611/// The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`.
1612#[derive(Clone, Eq, PartialEq)]
1613#[non_exhaustive]
1614pub enum CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1615    FuelAndNonFuelPurchase,
1616    FuelPurchase,
1617    NonFuelPurchase,
1618    /// An unrecognized value from Stripe. Should not be used as a request parameter.
1619    Unknown(String),
1620}
1621impl CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1622    pub fn as_str(&self) -> &str {
1623        use CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType::*;
1624        match self {
1625            FuelAndNonFuelPurchase => "fuel_and_non_fuel_purchase",
1626            FuelPurchase => "fuel_purchase",
1627            NonFuelPurchase => "non_fuel_purchase",
1628            Unknown(v) => v,
1629        }
1630    }
1631}
1632
1633impl std::str::FromStr for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1634    type Err = std::convert::Infallible;
1635    fn from_str(s: &str) -> Result<Self, Self::Err> {
1636        use CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType::*;
1637        match s {
1638            "fuel_and_non_fuel_purchase" => Ok(FuelAndNonFuelPurchase),
1639            "fuel_purchase" => Ok(FuelPurchase),
1640            "non_fuel_purchase" => Ok(NonFuelPurchase),
1641            v => {
1642                tracing::warn!(
1643                    "Unknown value '{}' for enum '{}'",
1644                    v,
1645                    "CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType"
1646                );
1647                Ok(Unknown(v.to_owned()))
1648            }
1649        }
1650    }
1651}
1652impl std::fmt::Display for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1653    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1654        f.write_str(self.as_str())
1655    }
1656}
1657
1658#[cfg(not(feature = "redact-generated-debug"))]
1659impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1660    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1661        f.write_str(self.as_str())
1662    }
1663}
1664#[cfg(feature = "redact-generated-debug")]
1665impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1666    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1667        f.debug_struct(stringify!(
1668            CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType
1669        ))
1670        .finish_non_exhaustive()
1671    }
1672}
1673impl serde::Serialize for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType {
1674    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1675    where
1676        S: serde::Serializer,
1677    {
1678        serializer.serialize_str(self.as_str())
1679    }
1680}
1681#[cfg(feature = "deserialize")]
1682impl<'de> serde::Deserialize<'de>
1683    for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetPurchaseType
1684{
1685    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
1686        use std::str::FromStr;
1687        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
1688        Ok(Self::from_str(&s).expect("infallible"))
1689    }
1690}
1691/// The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`.
1692#[derive(Clone, Eq, PartialEq)]
1693#[non_exhaustive]
1694pub enum CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1695    FullService,
1696    NonFuelTransaction,
1697    SelfService,
1698    /// An unrecognized value from Stripe. Should not be used as a request parameter.
1699    Unknown(String),
1700}
1701impl CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1702    pub fn as_str(&self) -> &str {
1703        use CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType::*;
1704        match self {
1705            FullService => "full_service",
1706            NonFuelTransaction => "non_fuel_transaction",
1707            SelfService => "self_service",
1708            Unknown(v) => v,
1709        }
1710    }
1711}
1712
1713impl std::str::FromStr for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1714    type Err = std::convert::Infallible;
1715    fn from_str(s: &str) -> Result<Self, Self::Err> {
1716        use CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType::*;
1717        match s {
1718            "full_service" => Ok(FullService),
1719            "non_fuel_transaction" => Ok(NonFuelTransaction),
1720            "self_service" => Ok(SelfService),
1721            v => {
1722                tracing::warn!(
1723                    "Unknown value '{}' for enum '{}'",
1724                    v,
1725                    "CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType"
1726                );
1727                Ok(Unknown(v.to_owned()))
1728            }
1729        }
1730    }
1731}
1732impl std::fmt::Display for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1733    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1734        f.write_str(self.as_str())
1735    }
1736}
1737
1738#[cfg(not(feature = "redact-generated-debug"))]
1739impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1740    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1741        f.write_str(self.as_str())
1742    }
1743}
1744#[cfg(feature = "redact-generated-debug")]
1745impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1746    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1747        f.debug_struct(stringify!(
1748            CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType
1749        ))
1750        .finish_non_exhaustive()
1751    }
1752}
1753impl serde::Serialize for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType {
1754    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1755    where
1756        S: serde::Serializer,
1757    {
1758        serializer.serialize_str(self.as_str())
1759    }
1760}
1761#[cfg(feature = "deserialize")]
1762impl<'de> serde::Deserialize<'de>
1763    for CreateForceCaptureIssuingTransactionPurchaseDetailsFleetServiceType
1764{
1765    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
1766        use std::str::FromStr;
1767        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
1768        Ok(Self::from_str(&s).expect("infallible"))
1769    }
1770}
1771/// Information about fuel that was purchased with this transaction.
1772#[derive(Clone, Eq, PartialEq)]
1773#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
1774#[derive(serde::Serialize)]
1775pub struct CreateForceCaptureIssuingTransactionPurchaseDetailsFuel {
1776    /// [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased.
1777    #[serde(skip_serializing_if = "Option::is_none")]
1778    pub industry_product_code: Option<String>,
1779    /// The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places.
1780    #[serde(skip_serializing_if = "Option::is_none")]
1781    pub quantity_decimal: Option<String>,
1782    /// The type of fuel that was purchased.
1783    /// One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.
1784    #[serde(rename = "type")]
1785    #[serde(skip_serializing_if = "Option::is_none")]
1786    pub type_: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType>,
1787    /// The units for `quantity_decimal`.
1788    /// One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`.
1789    #[serde(skip_serializing_if = "Option::is_none")]
1790    pub unit: Option<CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit>,
1791    /// The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places.
1792    #[serde(skip_serializing_if = "Option::is_none")]
1793    pub unit_cost_decimal: Option<String>,
1794}
1795#[cfg(feature = "redact-generated-debug")]
1796impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFuel {
1797    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1798        f.debug_struct("CreateForceCaptureIssuingTransactionPurchaseDetailsFuel")
1799            .finish_non_exhaustive()
1800    }
1801}
1802impl CreateForceCaptureIssuingTransactionPurchaseDetailsFuel {
1803    pub fn new() -> Self {
1804        Self {
1805            industry_product_code: None,
1806            quantity_decimal: None,
1807            type_: None,
1808            unit: None,
1809            unit_cost_decimal: None,
1810        }
1811    }
1812}
1813impl Default for CreateForceCaptureIssuingTransactionPurchaseDetailsFuel {
1814    fn default() -> Self {
1815        Self::new()
1816    }
1817}
1818/// The type of fuel that was purchased.
1819/// One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.
1820#[derive(Clone, Eq, PartialEq)]
1821#[non_exhaustive]
1822pub enum CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1823    Diesel,
1824    Other,
1825    UnleadedPlus,
1826    UnleadedRegular,
1827    UnleadedSuper,
1828    /// An unrecognized value from Stripe. Should not be used as a request parameter.
1829    Unknown(String),
1830}
1831impl CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1832    pub fn as_str(&self) -> &str {
1833        use CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType::*;
1834        match self {
1835            Diesel => "diesel",
1836            Other => "other",
1837            UnleadedPlus => "unleaded_plus",
1838            UnleadedRegular => "unleaded_regular",
1839            UnleadedSuper => "unleaded_super",
1840            Unknown(v) => v,
1841        }
1842    }
1843}
1844
1845impl std::str::FromStr for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1846    type Err = std::convert::Infallible;
1847    fn from_str(s: &str) -> Result<Self, Self::Err> {
1848        use CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType::*;
1849        match s {
1850            "diesel" => Ok(Diesel),
1851            "other" => Ok(Other),
1852            "unleaded_plus" => Ok(UnleadedPlus),
1853            "unleaded_regular" => Ok(UnleadedRegular),
1854            "unleaded_super" => Ok(UnleadedSuper),
1855            v => {
1856                tracing::warn!(
1857                    "Unknown value '{}' for enum '{}'",
1858                    v,
1859                    "CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType"
1860                );
1861                Ok(Unknown(v.to_owned()))
1862            }
1863        }
1864    }
1865}
1866impl std::fmt::Display for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1867    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1868        f.write_str(self.as_str())
1869    }
1870}
1871
1872#[cfg(not(feature = "redact-generated-debug"))]
1873impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1874    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1875        f.write_str(self.as_str())
1876    }
1877}
1878#[cfg(feature = "redact-generated-debug")]
1879impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1880    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1881        f.debug_struct(stringify!(CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType))
1882            .finish_non_exhaustive()
1883    }
1884}
1885impl serde::Serialize for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1886    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1887    where
1888        S: serde::Serializer,
1889    {
1890        serializer.serialize_str(self.as_str())
1891    }
1892}
1893#[cfg(feature = "deserialize")]
1894impl<'de> serde::Deserialize<'de> for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelType {
1895    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
1896        use std::str::FromStr;
1897        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
1898        Ok(Self::from_str(&s).expect("infallible"))
1899    }
1900}
1901/// The units for `quantity_decimal`.
1902/// One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`.
1903#[derive(Clone, Eq, PartialEq)]
1904#[non_exhaustive]
1905pub enum CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1906    ChargingMinute,
1907    ImperialGallon,
1908    Kilogram,
1909    KilowattHour,
1910    Liter,
1911    Other,
1912    Pound,
1913    UsGallon,
1914    /// An unrecognized value from Stripe. Should not be used as a request parameter.
1915    Unknown(String),
1916}
1917impl CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1918    pub fn as_str(&self) -> &str {
1919        use CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit::*;
1920        match self {
1921            ChargingMinute => "charging_minute",
1922            ImperialGallon => "imperial_gallon",
1923            Kilogram => "kilogram",
1924            KilowattHour => "kilowatt_hour",
1925            Liter => "liter",
1926            Other => "other",
1927            Pound => "pound",
1928            UsGallon => "us_gallon",
1929            Unknown(v) => v,
1930        }
1931    }
1932}
1933
1934impl std::str::FromStr for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1935    type Err = std::convert::Infallible;
1936    fn from_str(s: &str) -> Result<Self, Self::Err> {
1937        use CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit::*;
1938        match s {
1939            "charging_minute" => Ok(ChargingMinute),
1940            "imperial_gallon" => Ok(ImperialGallon),
1941            "kilogram" => Ok(Kilogram),
1942            "kilowatt_hour" => Ok(KilowattHour),
1943            "liter" => Ok(Liter),
1944            "other" => Ok(Other),
1945            "pound" => Ok(Pound),
1946            "us_gallon" => Ok(UsGallon),
1947            v => {
1948                tracing::warn!(
1949                    "Unknown value '{}' for enum '{}'",
1950                    v,
1951                    "CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit"
1952                );
1953                Ok(Unknown(v.to_owned()))
1954            }
1955        }
1956    }
1957}
1958impl std::fmt::Display for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1959    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1960        f.write_str(self.as_str())
1961    }
1962}
1963
1964#[cfg(not(feature = "redact-generated-debug"))]
1965impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1966    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1967        f.write_str(self.as_str())
1968    }
1969}
1970#[cfg(feature = "redact-generated-debug")]
1971impl std::fmt::Debug for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1972    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
1973        f.debug_struct(stringify!(CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit))
1974            .finish_non_exhaustive()
1975    }
1976}
1977impl serde::Serialize for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1978    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1979    where
1980        S: serde::Serializer,
1981    {
1982        serializer.serialize_str(self.as_str())
1983    }
1984}
1985#[cfg(feature = "deserialize")]
1986impl<'de> serde::Deserialize<'de> for CreateForceCaptureIssuingTransactionPurchaseDetailsFuelUnit {
1987    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
1988        use std::str::FromStr;
1989        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
1990        Ok(Self::from_str(&s).expect("infallible"))
1991    }
1992}
1993/// Allows the user to capture an arbitrary amount, also known as a forced capture.
1994#[derive(Clone)]
1995#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
1996#[derive(serde::Serialize)]
1997pub struct CreateForceCaptureIssuingTransaction {
1998    inner: CreateForceCaptureIssuingTransactionBuilder,
1999}
2000#[cfg(feature = "redact-generated-debug")]
2001impl std::fmt::Debug for CreateForceCaptureIssuingTransaction {
2002    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
2003        f.debug_struct("CreateForceCaptureIssuingTransaction").finish_non_exhaustive()
2004    }
2005}
2006impl CreateForceCaptureIssuingTransaction {
2007    /// Construct a new `CreateForceCaptureIssuingTransaction`.
2008    pub fn new(amount: impl Into<i64>, card: impl Into<String>) -> Self {
2009        Self { inner: CreateForceCaptureIssuingTransactionBuilder::new(amount.into(), card.into()) }
2010    }
2011    /// The currency of the capture.
2012    /// If not provided, defaults to the currency of the card.
2013    /// Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
2014    /// Must be a [supported currency](https://stripe.com/docs/currencies).
2015    pub fn currency(mut self, currency: impl Into<stripe_types::Currency>) -> Self {
2016        self.inner.currency = Some(currency.into());
2017        self
2018    }
2019    /// Specifies which fields in the response should be expanded.
2020    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
2021        self.inner.expand = Some(expand.into());
2022        self
2023    }
2024    /// Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.
2025    pub fn merchant_data(
2026        mut self,
2027        merchant_data: impl Into<CreateForceCaptureIssuingTransactionMerchantData>,
2028    ) -> Self {
2029        self.inner.merchant_data = Some(merchant_data.into());
2030        self
2031    }
2032    /// Additional purchase information that is optionally provided by the merchant.
2033    pub fn purchase_details(
2034        mut self,
2035        purchase_details: impl Into<CreateForceCaptureIssuingTransactionPurchaseDetails>,
2036    ) -> Self {
2037        self.inner.purchase_details = Some(purchase_details.into());
2038        self
2039    }
2040}
2041impl CreateForceCaptureIssuingTransaction {
2042    /// Send the request and return the deserialized response.
2043    pub async fn send<C: StripeClient>(
2044        &self,
2045        client: &C,
2046    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
2047        self.customize().send(client).await
2048    }
2049
2050    /// Send the request and return the deserialized response, blocking until completion.
2051    pub fn send_blocking<C: StripeBlockingClient>(
2052        &self,
2053        client: &C,
2054    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
2055        self.customize().send_blocking(client)
2056    }
2057}
2058
2059impl StripeRequest for CreateForceCaptureIssuingTransaction {
2060    type Output = stripe_shared::IssuingTransaction;
2061
2062    fn build(&self) -> RequestBuilder {
2063        RequestBuilder::new(
2064            StripeMethod::Post,
2065            "/test_helpers/issuing/transactions/create_force_capture",
2066        )
2067        .form(&self.inner)
2068    }
2069}
2070#[derive(Clone, Eq, PartialEq)]
2071#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
2072#[derive(serde::Serialize)]
2073struct CreateUnlinkedRefundIssuingTransactionBuilder {
2074    amount: i64,
2075    card: String,
2076    #[serde(skip_serializing_if = "Option::is_none")]
2077    currency: Option<stripe_types::Currency>,
2078    #[serde(skip_serializing_if = "Option::is_none")]
2079    expand: Option<Vec<String>>,
2080    #[serde(skip_serializing_if = "Option::is_none")]
2081    merchant_data: Option<CreateUnlinkedRefundIssuingTransactionMerchantData>,
2082    #[serde(skip_serializing_if = "Option::is_none")]
2083    purchase_details: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetails>,
2084}
2085#[cfg(feature = "redact-generated-debug")]
2086impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionBuilder {
2087    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
2088        f.debug_struct("CreateUnlinkedRefundIssuingTransactionBuilder").finish_non_exhaustive()
2089    }
2090}
2091impl CreateUnlinkedRefundIssuingTransactionBuilder {
2092    fn new(amount: impl Into<i64>, card: impl Into<String>) -> Self {
2093        Self {
2094            amount: amount.into(),
2095            card: card.into(),
2096            currency: None,
2097            expand: None,
2098            merchant_data: None,
2099            purchase_details: None,
2100        }
2101    }
2102}
2103/// Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.
2104#[derive(Clone, Eq, PartialEq)]
2105#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
2106#[derive(serde::Serialize)]
2107pub struct CreateUnlinkedRefundIssuingTransactionMerchantData {
2108    /// A categorization of the seller's type of business.
2109    /// See our [merchant categories guide](https://docs.stripe.com/issuing/merchant-categories) for a list of possible values.
2110    #[serde(skip_serializing_if = "Option::is_none")]
2111    pub category: Option<CreateUnlinkedRefundIssuingTransactionMerchantDataCategory>,
2112    /// City where the seller is located
2113    #[serde(skip_serializing_if = "Option::is_none")]
2114    pub city: Option<String>,
2115    /// Country where the seller is located
2116    #[serde(skip_serializing_if = "Option::is_none")]
2117    pub country: Option<String>,
2118    /// Name of the seller
2119    #[serde(skip_serializing_if = "Option::is_none")]
2120    pub name: Option<String>,
2121    /// Identifier assigned to the seller by the card network.
2122    /// Different card networks may assign different network_id fields to the same merchant.
2123    #[serde(skip_serializing_if = "Option::is_none")]
2124    pub network_id: Option<String>,
2125    /// Postal code where the seller is located
2126    #[serde(skip_serializing_if = "Option::is_none")]
2127    pub postal_code: Option<String>,
2128    /// State where the seller is located
2129    #[serde(skip_serializing_if = "Option::is_none")]
2130    pub state: Option<String>,
2131    /// An ID assigned by the seller to the location of the sale.
2132    #[serde(skip_serializing_if = "Option::is_none")]
2133    pub terminal_id: Option<String>,
2134    /// URL provided by the merchant on a 3DS request
2135    #[serde(skip_serializing_if = "Option::is_none")]
2136    pub url: Option<String>,
2137}
2138#[cfg(feature = "redact-generated-debug")]
2139impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionMerchantData {
2140    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
2141        f.debug_struct("CreateUnlinkedRefundIssuingTransactionMerchantData").finish_non_exhaustive()
2142    }
2143}
2144impl CreateUnlinkedRefundIssuingTransactionMerchantData {
2145    pub fn new() -> Self {
2146        Self {
2147            category: None,
2148            city: None,
2149            country: None,
2150            name: None,
2151            network_id: None,
2152            postal_code: None,
2153            state: None,
2154            terminal_id: None,
2155            url: None,
2156        }
2157    }
2158}
2159impl Default for CreateUnlinkedRefundIssuingTransactionMerchantData {
2160    fn default() -> Self {
2161        Self::new()
2162    }
2163}
2164/// A categorization of the seller's type of business.
2165/// See our [merchant categories guide](https://docs.stripe.com/issuing/merchant-categories) for a list of possible values.
2166#[derive(Clone, Eq, PartialEq)]
2167#[non_exhaustive]
2168pub enum CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
2169    AcRefrigerationRepair,
2170    AccountingBookkeepingServices,
2171    AdvertisingServices,
2172    AgriculturalCooperative,
2173    AirlinesAirCarriers,
2174    AirportsFlyingFields,
2175    AmbulanceServices,
2176    AmusementParksCarnivals,
2177    AntiqueReproductions,
2178    AntiqueShops,
2179    Aquariums,
2180    ArchitecturalSurveyingServices,
2181    ArtDealersAndGalleries,
2182    ArtistsSupplyAndCraftShops,
2183    AutoAndHomeSupplyStores,
2184    AutoBodyRepairShops,
2185    AutoPaintShops,
2186    AutoServiceShops,
2187    AutomatedCashDisburse,
2188    AutomatedFuelDispensers,
2189    AutomobileAssociations,
2190    AutomotivePartsAndAccessoriesStores,
2191    AutomotiveTireStores,
2192    BailAndBondPayments,
2193    Bakeries,
2194    BandsOrchestras,
2195    BarberAndBeautyShops,
2196    BettingCasinoGambling,
2197    BicycleShops,
2198    BilliardPoolEstablishments,
2199    BoatDealers,
2200    BoatRentalsAndLeases,
2201    BookStores,
2202    BooksPeriodicalsAndNewspapers,
2203    BowlingAlleys,
2204    BusLines,
2205    BusinessSecretarialSchools,
2206    BuyingShoppingServices,
2207    CableSatelliteAndOtherPayTelevisionAndRadio,
2208    CameraAndPhotographicSupplyStores,
2209    CandyNutAndConfectioneryStores,
2210    CarAndTruckDealersNewUsed,
2211    CarAndTruckDealersUsedOnly,
2212    CarRentalAgencies,
2213    CarWashes,
2214    CarpentryServices,
2215    CarpetUpholsteryCleaning,
2216    Caterers,
2217    CharitableAndSocialServiceOrganizationsFundraising,
2218    ChemicalsAndAlliedProducts,
2219    ChildCareServices,
2220    ChildrensAndInfantsWearStores,
2221    ChiropodistsPodiatrists,
2222    Chiropractors,
2223    CigarStoresAndStands,
2224    CivicSocialFraternalAssociations,
2225    CleaningAndMaintenance,
2226    ClothingRental,
2227    CollegesUniversities,
2228    CommercialEquipment,
2229    CommercialFootwear,
2230    CommercialPhotographyArtAndGraphics,
2231    CommuterTransportAndFerries,
2232    ComputerNetworkServices,
2233    ComputerProgramming,
2234    ComputerRepair,
2235    ComputerSoftwareStores,
2236    ComputersPeripheralsAndSoftware,
2237    ConcreteWorkServices,
2238    ConstructionMaterials,
2239    ConsultingPublicRelations,
2240    CorrespondenceSchools,
2241    CosmeticStores,
2242    CounselingServices,
2243    CountryClubs,
2244    CourierServices,
2245    CourtCosts,
2246    CreditReportingAgencies,
2247    CruiseLines,
2248    DairyProductsStores,
2249    DanceHallStudiosSchools,
2250    DatingEscortServices,
2251    DentistsOrthodontists,
2252    DepartmentStores,
2253    DetectiveAgencies,
2254    DigitalGoodsApplications,
2255    DigitalGoodsGames,
2256    DigitalGoodsLargeVolume,
2257    DigitalGoodsMedia,
2258    DirectMarketingCatalogMerchant,
2259    DirectMarketingCombinationCatalogAndRetailMerchant,
2260    DirectMarketingInboundTelemarketing,
2261    DirectMarketingInsuranceServices,
2262    DirectMarketingOther,
2263    DirectMarketingOutboundTelemarketing,
2264    DirectMarketingSubscription,
2265    DirectMarketingTravel,
2266    DiscountStores,
2267    Doctors,
2268    DoorToDoorSales,
2269    DraperyWindowCoveringAndUpholsteryStores,
2270    DrinkingPlaces,
2271    DrugStoresAndPharmacies,
2272    DrugsDrugProprietariesAndDruggistSundries,
2273    DryCleaners,
2274    DurableGoods,
2275    DutyFreeStores,
2276    EatingPlacesRestaurants,
2277    EducationalServices,
2278    ElectricRazorStores,
2279    ElectricVehicleCharging,
2280    ElectricalPartsAndEquipment,
2281    ElectricalServices,
2282    ElectronicsRepairShops,
2283    ElectronicsStores,
2284    ElementarySecondarySchools,
2285    EmergencyServicesGcasVisaUseOnly,
2286    EmploymentTempAgencies,
2287    EquipmentRental,
2288    ExterminatingServices,
2289    FamilyClothingStores,
2290    FastFoodRestaurants,
2291    FinancialInstitutions,
2292    FinesGovernmentAdministrativeEntities,
2293    FireplaceFireplaceScreensAndAccessoriesStores,
2294    FloorCoveringStores,
2295    Florists,
2296    FloristsSuppliesNurseryStockAndFlowers,
2297    FreezerAndLockerMeatProvisioners,
2298    FuelDealersNonAutomotive,
2299    FuneralServicesCrematories,
2300    FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances,
2301    FurnitureRepairRefinishing,
2302    FurriersAndFurShops,
2303    GeneralServices,
2304    GiftCardNoveltyAndSouvenirShops,
2305    GlassPaintAndWallpaperStores,
2306    GlasswareCrystalStores,
2307    GolfCoursesPublic,
2308    GovernmentLicensedHorseDogRacingUsRegionOnly,
2309    GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly,
2310    GovernmentOwnedLotteriesNonUsRegion,
2311    GovernmentOwnedLotteriesUsRegionOnly,
2312    GovernmentServices,
2313    GroceryStoresSupermarkets,
2314    HardwareEquipmentAndSupplies,
2315    HardwareStores,
2316    HealthAndBeautySpas,
2317    HearingAidsSalesAndSupplies,
2318    HeatingPlumbingAC,
2319    HobbyToyAndGameShops,
2320    HomeSupplyWarehouseStores,
2321    Hospitals,
2322    HotelsMotelsAndResorts,
2323    HouseholdApplianceStores,
2324    IndustrialSupplies,
2325    InformationRetrievalServices,
2326    InsuranceDefault,
2327    InsuranceUnderwritingPremiums,
2328    IntraCompanyPurchases,
2329    JewelryStoresWatchesClocksAndSilverwareStores,
2330    LandscapingServices,
2331    Laundries,
2332    LaundryCleaningServices,
2333    LegalServicesAttorneys,
2334    LuggageAndLeatherGoodsStores,
2335    LumberBuildingMaterialsStores,
2336    ManualCashDisburse,
2337    MarinasServiceAndSupplies,
2338    Marketplaces,
2339    MasonryStoneworkAndPlaster,
2340    MassageParlors,
2341    MedicalAndDentalLabs,
2342    MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies,
2343    MedicalServices,
2344    MembershipOrganizations,
2345    MensAndBoysClothingAndAccessoriesStores,
2346    MensWomensClothingStores,
2347    MetalServiceCenters,
2348    MiscellaneousApparelAndAccessoryShops,
2349    MiscellaneousAutoDealers,
2350    MiscellaneousBusinessServices,
2351    MiscellaneousFoodStores,
2352    MiscellaneousGeneralMerchandise,
2353    MiscellaneousGeneralServices,
2354    MiscellaneousHomeFurnishingSpecialtyStores,
2355    MiscellaneousPublishingAndPrinting,
2356    MiscellaneousRecreationServices,
2357    MiscellaneousRepairShops,
2358    MiscellaneousSpecialtyRetail,
2359    MobileHomeDealers,
2360    MotionPictureTheaters,
2361    MotorFreightCarriersAndTrucking,
2362    MotorHomesDealers,
2363    MotorVehicleSuppliesAndNewParts,
2364    MotorcycleShopsAndDealers,
2365    MotorcycleShopsDealers,
2366    MusicStoresMusicalInstrumentsPianosAndSheetMusic,
2367    NewsDealersAndNewsstands,
2368    NonFiMoneyOrders,
2369    NonFiStoredValueCardPurchaseLoad,
2370    NondurableGoods,
2371    NurseriesLawnAndGardenSupplyStores,
2372    NursingPersonalCare,
2373    OfficeAndCommercialFurniture,
2374    OpticiansEyeglasses,
2375    OptometristsOphthalmologist,
2376    OrthopedicGoodsProstheticDevices,
2377    Osteopaths,
2378    PackageStoresBeerWineAndLiquor,
2379    PaintsVarnishesAndSupplies,
2380    ParkingLotsGarages,
2381    PassengerRailways,
2382    PawnShops,
2383    PetShopsPetFoodAndSupplies,
2384    PetroleumAndPetroleumProducts,
2385    PhotoDeveloping,
2386    PhotographicPhotocopyMicrofilmEquipmentAndSupplies,
2387    PhotographicStudios,
2388    PictureVideoProduction,
2389    PieceGoodsNotionsAndOtherDryGoods,
2390    PlumbingHeatingEquipmentAndSupplies,
2391    PoliticalOrganizations,
2392    PostalServicesGovernmentOnly,
2393    PreciousStonesAndMetalsWatchesAndJewelry,
2394    ProfessionalServices,
2395    PublicWarehousingAndStorage,
2396    QuickCopyReproAndBlueprint,
2397    Railroads,
2398    RealEstateAgentsAndManagersRentals,
2399    RecordStores,
2400    RecreationalVehicleRentals,
2401    ReligiousGoodsStores,
2402    ReligiousOrganizations,
2403    RoofingSidingSheetMetal,
2404    SecretarialSupportServices,
2405    SecurityBrokersDealers,
2406    ServiceStations,
2407    SewingNeedleworkFabricAndPieceGoodsStores,
2408    ShoeRepairHatCleaning,
2409    ShoeStores,
2410    SmallApplianceRepair,
2411    SnowmobileDealers,
2412    SpecialTradeServices,
2413    SpecialtyCleaning,
2414    SportingGoodsStores,
2415    SportingRecreationCamps,
2416    SportsAndRidingApparelStores,
2417    SportsClubsFields,
2418    StampAndCoinStores,
2419    StationaryOfficeSuppliesPrintingAndWritingPaper,
2420    StationeryStoresOfficeAndSchoolSupplyStores,
2421    SwimmingPoolsSales,
2422    TUiTravelGermany,
2423    TailorsAlterations,
2424    TaxPaymentsGovernmentAgencies,
2425    TaxPreparationServices,
2426    TaxicabsLimousines,
2427    TelecommunicationEquipmentAndTelephoneSales,
2428    TelecommunicationServices,
2429    TelegraphServices,
2430    TentAndAwningShops,
2431    TestingLaboratories,
2432    TheatricalTicketAgencies,
2433    Timeshares,
2434    TireRetreadingAndRepair,
2435    TollsBridgeFees,
2436    TouristAttractionsAndExhibits,
2437    TowingServices,
2438    TrailerParksCampgrounds,
2439    TransportationServices,
2440    TravelAgenciesTourOperators,
2441    TruckStopIteration,
2442    TruckUtilityTrailerRentals,
2443    TypesettingPlateMakingAndRelatedServices,
2444    TypewriterStores,
2445    USFederalGovernmentAgenciesOrDepartments,
2446    UniformsCommercialClothing,
2447    UsedMerchandiseAndSecondhandStores,
2448    Utilities,
2449    VarietyStores,
2450    VeterinaryServices,
2451    VideoAmusementGameSupplies,
2452    VideoGameArcades,
2453    VideoTapeRentalStores,
2454    VocationalTradeSchools,
2455    WatchJewelryRepair,
2456    WeldingRepair,
2457    WholesaleClubs,
2458    WigAndToupeeStores,
2459    WiresMoneyOrders,
2460    WomensAccessoryAndSpecialtyShops,
2461    WomensReadyToWearStores,
2462    WreckingAndSalvageYards,
2463    /// An unrecognized value from Stripe. Should not be used as a request parameter.
2464    Unknown(String),
2465}
2466impl CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
2467    pub fn as_str(&self) -> &str {
2468        use CreateUnlinkedRefundIssuingTransactionMerchantDataCategory::*;
2469        match self {
2470            AcRefrigerationRepair => "ac_refrigeration_repair",
2471            AccountingBookkeepingServices => "accounting_bookkeeping_services",
2472            AdvertisingServices => "advertising_services",
2473            AgriculturalCooperative => "agricultural_cooperative",
2474            AirlinesAirCarriers => "airlines_air_carriers",
2475            AirportsFlyingFields => "airports_flying_fields",
2476            AmbulanceServices => "ambulance_services",
2477            AmusementParksCarnivals => "amusement_parks_carnivals",
2478            AntiqueReproductions => "antique_reproductions",
2479            AntiqueShops => "antique_shops",
2480            Aquariums => "aquariums",
2481            ArchitecturalSurveyingServices => "architectural_surveying_services",
2482            ArtDealersAndGalleries => "art_dealers_and_galleries",
2483            ArtistsSupplyAndCraftShops => "artists_supply_and_craft_shops",
2484            AutoAndHomeSupplyStores => "auto_and_home_supply_stores",
2485            AutoBodyRepairShops => "auto_body_repair_shops",
2486            AutoPaintShops => "auto_paint_shops",
2487            AutoServiceShops => "auto_service_shops",
2488            AutomatedCashDisburse => "automated_cash_disburse",
2489            AutomatedFuelDispensers => "automated_fuel_dispensers",
2490            AutomobileAssociations => "automobile_associations",
2491            AutomotivePartsAndAccessoriesStores => "automotive_parts_and_accessories_stores",
2492            AutomotiveTireStores => "automotive_tire_stores",
2493            BailAndBondPayments => "bail_and_bond_payments",
2494            Bakeries => "bakeries",
2495            BandsOrchestras => "bands_orchestras",
2496            BarberAndBeautyShops => "barber_and_beauty_shops",
2497            BettingCasinoGambling => "betting_casino_gambling",
2498            BicycleShops => "bicycle_shops",
2499            BilliardPoolEstablishments => "billiard_pool_establishments",
2500            BoatDealers => "boat_dealers",
2501            BoatRentalsAndLeases => "boat_rentals_and_leases",
2502            BookStores => "book_stores",
2503            BooksPeriodicalsAndNewspapers => "books_periodicals_and_newspapers",
2504            BowlingAlleys => "bowling_alleys",
2505            BusLines => "bus_lines",
2506            BusinessSecretarialSchools => "business_secretarial_schools",
2507            BuyingShoppingServices => "buying_shopping_services",
2508            CableSatelliteAndOtherPayTelevisionAndRadio => {
2509                "cable_satellite_and_other_pay_television_and_radio"
2510            }
2511            CameraAndPhotographicSupplyStores => "camera_and_photographic_supply_stores",
2512            CandyNutAndConfectioneryStores => "candy_nut_and_confectionery_stores",
2513            CarAndTruckDealersNewUsed => "car_and_truck_dealers_new_used",
2514            CarAndTruckDealersUsedOnly => "car_and_truck_dealers_used_only",
2515            CarRentalAgencies => "car_rental_agencies",
2516            CarWashes => "car_washes",
2517            CarpentryServices => "carpentry_services",
2518            CarpetUpholsteryCleaning => "carpet_upholstery_cleaning",
2519            Caterers => "caterers",
2520            CharitableAndSocialServiceOrganizationsFundraising => {
2521                "charitable_and_social_service_organizations_fundraising"
2522            }
2523            ChemicalsAndAlliedProducts => "chemicals_and_allied_products",
2524            ChildCareServices => "child_care_services",
2525            ChildrensAndInfantsWearStores => "childrens_and_infants_wear_stores",
2526            ChiropodistsPodiatrists => "chiropodists_podiatrists",
2527            Chiropractors => "chiropractors",
2528            CigarStoresAndStands => "cigar_stores_and_stands",
2529            CivicSocialFraternalAssociations => "civic_social_fraternal_associations",
2530            CleaningAndMaintenance => "cleaning_and_maintenance",
2531            ClothingRental => "clothing_rental",
2532            CollegesUniversities => "colleges_universities",
2533            CommercialEquipment => "commercial_equipment",
2534            CommercialFootwear => "commercial_footwear",
2535            CommercialPhotographyArtAndGraphics => "commercial_photography_art_and_graphics",
2536            CommuterTransportAndFerries => "commuter_transport_and_ferries",
2537            ComputerNetworkServices => "computer_network_services",
2538            ComputerProgramming => "computer_programming",
2539            ComputerRepair => "computer_repair",
2540            ComputerSoftwareStores => "computer_software_stores",
2541            ComputersPeripheralsAndSoftware => "computers_peripherals_and_software",
2542            ConcreteWorkServices => "concrete_work_services",
2543            ConstructionMaterials => "construction_materials",
2544            ConsultingPublicRelations => "consulting_public_relations",
2545            CorrespondenceSchools => "correspondence_schools",
2546            CosmeticStores => "cosmetic_stores",
2547            CounselingServices => "counseling_services",
2548            CountryClubs => "country_clubs",
2549            CourierServices => "courier_services",
2550            CourtCosts => "court_costs",
2551            CreditReportingAgencies => "credit_reporting_agencies",
2552            CruiseLines => "cruise_lines",
2553            DairyProductsStores => "dairy_products_stores",
2554            DanceHallStudiosSchools => "dance_hall_studios_schools",
2555            DatingEscortServices => "dating_escort_services",
2556            DentistsOrthodontists => "dentists_orthodontists",
2557            DepartmentStores => "department_stores",
2558            DetectiveAgencies => "detective_agencies",
2559            DigitalGoodsApplications => "digital_goods_applications",
2560            DigitalGoodsGames => "digital_goods_games",
2561            DigitalGoodsLargeVolume => "digital_goods_large_volume",
2562            DigitalGoodsMedia => "digital_goods_media",
2563            DirectMarketingCatalogMerchant => "direct_marketing_catalog_merchant",
2564            DirectMarketingCombinationCatalogAndRetailMerchant => {
2565                "direct_marketing_combination_catalog_and_retail_merchant"
2566            }
2567            DirectMarketingInboundTelemarketing => "direct_marketing_inbound_telemarketing",
2568            DirectMarketingInsuranceServices => "direct_marketing_insurance_services",
2569            DirectMarketingOther => "direct_marketing_other",
2570            DirectMarketingOutboundTelemarketing => "direct_marketing_outbound_telemarketing",
2571            DirectMarketingSubscription => "direct_marketing_subscription",
2572            DirectMarketingTravel => "direct_marketing_travel",
2573            DiscountStores => "discount_stores",
2574            Doctors => "doctors",
2575            DoorToDoorSales => "door_to_door_sales",
2576            DraperyWindowCoveringAndUpholsteryStores => {
2577                "drapery_window_covering_and_upholstery_stores"
2578            }
2579            DrinkingPlaces => "drinking_places",
2580            DrugStoresAndPharmacies => "drug_stores_and_pharmacies",
2581            DrugsDrugProprietariesAndDruggistSundries => {
2582                "drugs_drug_proprietaries_and_druggist_sundries"
2583            }
2584            DryCleaners => "dry_cleaners",
2585            DurableGoods => "durable_goods",
2586            DutyFreeStores => "duty_free_stores",
2587            EatingPlacesRestaurants => "eating_places_restaurants",
2588            EducationalServices => "educational_services",
2589            ElectricRazorStores => "electric_razor_stores",
2590            ElectricVehicleCharging => "electric_vehicle_charging",
2591            ElectricalPartsAndEquipment => "electrical_parts_and_equipment",
2592            ElectricalServices => "electrical_services",
2593            ElectronicsRepairShops => "electronics_repair_shops",
2594            ElectronicsStores => "electronics_stores",
2595            ElementarySecondarySchools => "elementary_secondary_schools",
2596            EmergencyServicesGcasVisaUseOnly => "emergency_services_gcas_visa_use_only",
2597            EmploymentTempAgencies => "employment_temp_agencies",
2598            EquipmentRental => "equipment_rental",
2599            ExterminatingServices => "exterminating_services",
2600            FamilyClothingStores => "family_clothing_stores",
2601            FastFoodRestaurants => "fast_food_restaurants",
2602            FinancialInstitutions => "financial_institutions",
2603            FinesGovernmentAdministrativeEntities => "fines_government_administrative_entities",
2604            FireplaceFireplaceScreensAndAccessoriesStores => {
2605                "fireplace_fireplace_screens_and_accessories_stores"
2606            }
2607            FloorCoveringStores => "floor_covering_stores",
2608            Florists => "florists",
2609            FloristsSuppliesNurseryStockAndFlowers => "florists_supplies_nursery_stock_and_flowers",
2610            FreezerAndLockerMeatProvisioners => "freezer_and_locker_meat_provisioners",
2611            FuelDealersNonAutomotive => "fuel_dealers_non_automotive",
2612            FuneralServicesCrematories => "funeral_services_crematories",
2613            FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances => {
2614                "furniture_home_furnishings_and_equipment_stores_except_appliances"
2615            }
2616            FurnitureRepairRefinishing => "furniture_repair_refinishing",
2617            FurriersAndFurShops => "furriers_and_fur_shops",
2618            GeneralServices => "general_services",
2619            GiftCardNoveltyAndSouvenirShops => "gift_card_novelty_and_souvenir_shops",
2620            GlassPaintAndWallpaperStores => "glass_paint_and_wallpaper_stores",
2621            GlasswareCrystalStores => "glassware_crystal_stores",
2622            GolfCoursesPublic => "golf_courses_public",
2623            GovernmentLicensedHorseDogRacingUsRegionOnly => {
2624                "government_licensed_horse_dog_racing_us_region_only"
2625            }
2626            GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly => {
2627                "government_licensed_online_casions_online_gambling_us_region_only"
2628            }
2629            GovernmentOwnedLotteriesNonUsRegion => "government_owned_lotteries_non_us_region",
2630            GovernmentOwnedLotteriesUsRegionOnly => "government_owned_lotteries_us_region_only",
2631            GovernmentServices => "government_services",
2632            GroceryStoresSupermarkets => "grocery_stores_supermarkets",
2633            HardwareEquipmentAndSupplies => "hardware_equipment_and_supplies",
2634            HardwareStores => "hardware_stores",
2635            HealthAndBeautySpas => "health_and_beauty_spas",
2636            HearingAidsSalesAndSupplies => "hearing_aids_sales_and_supplies",
2637            HeatingPlumbingAC => "heating_plumbing_a_c",
2638            HobbyToyAndGameShops => "hobby_toy_and_game_shops",
2639            HomeSupplyWarehouseStores => "home_supply_warehouse_stores",
2640            Hospitals => "hospitals",
2641            HotelsMotelsAndResorts => "hotels_motels_and_resorts",
2642            HouseholdApplianceStores => "household_appliance_stores",
2643            IndustrialSupplies => "industrial_supplies",
2644            InformationRetrievalServices => "information_retrieval_services",
2645            InsuranceDefault => "insurance_default",
2646            InsuranceUnderwritingPremiums => "insurance_underwriting_premiums",
2647            IntraCompanyPurchases => "intra_company_purchases",
2648            JewelryStoresWatchesClocksAndSilverwareStores => {
2649                "jewelry_stores_watches_clocks_and_silverware_stores"
2650            }
2651            LandscapingServices => "landscaping_services",
2652            Laundries => "laundries",
2653            LaundryCleaningServices => "laundry_cleaning_services",
2654            LegalServicesAttorneys => "legal_services_attorneys",
2655            LuggageAndLeatherGoodsStores => "luggage_and_leather_goods_stores",
2656            LumberBuildingMaterialsStores => "lumber_building_materials_stores",
2657            ManualCashDisburse => "manual_cash_disburse",
2658            MarinasServiceAndSupplies => "marinas_service_and_supplies",
2659            Marketplaces => "marketplaces",
2660            MasonryStoneworkAndPlaster => "masonry_stonework_and_plaster",
2661            MassageParlors => "massage_parlors",
2662            MedicalAndDentalLabs => "medical_and_dental_labs",
2663            MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies => {
2664                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies"
2665            }
2666            MedicalServices => "medical_services",
2667            MembershipOrganizations => "membership_organizations",
2668            MensAndBoysClothingAndAccessoriesStores => {
2669                "mens_and_boys_clothing_and_accessories_stores"
2670            }
2671            MensWomensClothingStores => "mens_womens_clothing_stores",
2672            MetalServiceCenters => "metal_service_centers",
2673            MiscellaneousApparelAndAccessoryShops => "miscellaneous_apparel_and_accessory_shops",
2674            MiscellaneousAutoDealers => "miscellaneous_auto_dealers",
2675            MiscellaneousBusinessServices => "miscellaneous_business_services",
2676            MiscellaneousFoodStores => "miscellaneous_food_stores",
2677            MiscellaneousGeneralMerchandise => "miscellaneous_general_merchandise",
2678            MiscellaneousGeneralServices => "miscellaneous_general_services",
2679            MiscellaneousHomeFurnishingSpecialtyStores => {
2680                "miscellaneous_home_furnishing_specialty_stores"
2681            }
2682            MiscellaneousPublishingAndPrinting => "miscellaneous_publishing_and_printing",
2683            MiscellaneousRecreationServices => "miscellaneous_recreation_services",
2684            MiscellaneousRepairShops => "miscellaneous_repair_shops",
2685            MiscellaneousSpecialtyRetail => "miscellaneous_specialty_retail",
2686            MobileHomeDealers => "mobile_home_dealers",
2687            MotionPictureTheaters => "motion_picture_theaters",
2688            MotorFreightCarriersAndTrucking => "motor_freight_carriers_and_trucking",
2689            MotorHomesDealers => "motor_homes_dealers",
2690            MotorVehicleSuppliesAndNewParts => "motor_vehicle_supplies_and_new_parts",
2691            MotorcycleShopsAndDealers => "motorcycle_shops_and_dealers",
2692            MotorcycleShopsDealers => "motorcycle_shops_dealers",
2693            MusicStoresMusicalInstrumentsPianosAndSheetMusic => {
2694                "music_stores_musical_instruments_pianos_and_sheet_music"
2695            }
2696            NewsDealersAndNewsstands => "news_dealers_and_newsstands",
2697            NonFiMoneyOrders => "non_fi_money_orders",
2698            NonFiStoredValueCardPurchaseLoad => "non_fi_stored_value_card_purchase_load",
2699            NondurableGoods => "nondurable_goods",
2700            NurseriesLawnAndGardenSupplyStores => "nurseries_lawn_and_garden_supply_stores",
2701            NursingPersonalCare => "nursing_personal_care",
2702            OfficeAndCommercialFurniture => "office_and_commercial_furniture",
2703            OpticiansEyeglasses => "opticians_eyeglasses",
2704            OptometristsOphthalmologist => "optometrists_ophthalmologist",
2705            OrthopedicGoodsProstheticDevices => "orthopedic_goods_prosthetic_devices",
2706            Osteopaths => "osteopaths",
2707            PackageStoresBeerWineAndLiquor => "package_stores_beer_wine_and_liquor",
2708            PaintsVarnishesAndSupplies => "paints_varnishes_and_supplies",
2709            ParkingLotsGarages => "parking_lots_garages",
2710            PassengerRailways => "passenger_railways",
2711            PawnShops => "pawn_shops",
2712            PetShopsPetFoodAndSupplies => "pet_shops_pet_food_and_supplies",
2713            PetroleumAndPetroleumProducts => "petroleum_and_petroleum_products",
2714            PhotoDeveloping => "photo_developing",
2715            PhotographicPhotocopyMicrofilmEquipmentAndSupplies => {
2716                "photographic_photocopy_microfilm_equipment_and_supplies"
2717            }
2718            PhotographicStudios => "photographic_studios",
2719            PictureVideoProduction => "picture_video_production",
2720            PieceGoodsNotionsAndOtherDryGoods => "piece_goods_notions_and_other_dry_goods",
2721            PlumbingHeatingEquipmentAndSupplies => "plumbing_heating_equipment_and_supplies",
2722            PoliticalOrganizations => "political_organizations",
2723            PostalServicesGovernmentOnly => "postal_services_government_only",
2724            PreciousStonesAndMetalsWatchesAndJewelry => {
2725                "precious_stones_and_metals_watches_and_jewelry"
2726            }
2727            ProfessionalServices => "professional_services",
2728            PublicWarehousingAndStorage => "public_warehousing_and_storage",
2729            QuickCopyReproAndBlueprint => "quick_copy_repro_and_blueprint",
2730            Railroads => "railroads",
2731            RealEstateAgentsAndManagersRentals => "real_estate_agents_and_managers_rentals",
2732            RecordStores => "record_stores",
2733            RecreationalVehicleRentals => "recreational_vehicle_rentals",
2734            ReligiousGoodsStores => "religious_goods_stores",
2735            ReligiousOrganizations => "religious_organizations",
2736            RoofingSidingSheetMetal => "roofing_siding_sheet_metal",
2737            SecretarialSupportServices => "secretarial_support_services",
2738            SecurityBrokersDealers => "security_brokers_dealers",
2739            ServiceStations => "service_stations",
2740            SewingNeedleworkFabricAndPieceGoodsStores => {
2741                "sewing_needlework_fabric_and_piece_goods_stores"
2742            }
2743            ShoeRepairHatCleaning => "shoe_repair_hat_cleaning",
2744            ShoeStores => "shoe_stores",
2745            SmallApplianceRepair => "small_appliance_repair",
2746            SnowmobileDealers => "snowmobile_dealers",
2747            SpecialTradeServices => "special_trade_services",
2748            SpecialtyCleaning => "specialty_cleaning",
2749            SportingGoodsStores => "sporting_goods_stores",
2750            SportingRecreationCamps => "sporting_recreation_camps",
2751            SportsAndRidingApparelStores => "sports_and_riding_apparel_stores",
2752            SportsClubsFields => "sports_clubs_fields",
2753            StampAndCoinStores => "stamp_and_coin_stores",
2754            StationaryOfficeSuppliesPrintingAndWritingPaper => {
2755                "stationary_office_supplies_printing_and_writing_paper"
2756            }
2757            StationeryStoresOfficeAndSchoolSupplyStores => {
2758                "stationery_stores_office_and_school_supply_stores"
2759            }
2760            SwimmingPoolsSales => "swimming_pools_sales",
2761            TUiTravelGermany => "t_ui_travel_germany",
2762            TailorsAlterations => "tailors_alterations",
2763            TaxPaymentsGovernmentAgencies => "tax_payments_government_agencies",
2764            TaxPreparationServices => "tax_preparation_services",
2765            TaxicabsLimousines => "taxicabs_limousines",
2766            TelecommunicationEquipmentAndTelephoneSales => {
2767                "telecommunication_equipment_and_telephone_sales"
2768            }
2769            TelecommunicationServices => "telecommunication_services",
2770            TelegraphServices => "telegraph_services",
2771            TentAndAwningShops => "tent_and_awning_shops",
2772            TestingLaboratories => "testing_laboratories",
2773            TheatricalTicketAgencies => "theatrical_ticket_agencies",
2774            Timeshares => "timeshares",
2775            TireRetreadingAndRepair => "tire_retreading_and_repair",
2776            TollsBridgeFees => "tolls_bridge_fees",
2777            TouristAttractionsAndExhibits => "tourist_attractions_and_exhibits",
2778            TowingServices => "towing_services",
2779            TrailerParksCampgrounds => "trailer_parks_campgrounds",
2780            TransportationServices => "transportation_services",
2781            TravelAgenciesTourOperators => "travel_agencies_tour_operators",
2782            TruckStopIteration => "truck_stop_iteration",
2783            TruckUtilityTrailerRentals => "truck_utility_trailer_rentals",
2784            TypesettingPlateMakingAndRelatedServices => {
2785                "typesetting_plate_making_and_related_services"
2786            }
2787            TypewriterStores => "typewriter_stores",
2788            USFederalGovernmentAgenciesOrDepartments => {
2789                "u_s_federal_government_agencies_or_departments"
2790            }
2791            UniformsCommercialClothing => "uniforms_commercial_clothing",
2792            UsedMerchandiseAndSecondhandStores => "used_merchandise_and_secondhand_stores",
2793            Utilities => "utilities",
2794            VarietyStores => "variety_stores",
2795            VeterinaryServices => "veterinary_services",
2796            VideoAmusementGameSupplies => "video_amusement_game_supplies",
2797            VideoGameArcades => "video_game_arcades",
2798            VideoTapeRentalStores => "video_tape_rental_stores",
2799            VocationalTradeSchools => "vocational_trade_schools",
2800            WatchJewelryRepair => "watch_jewelry_repair",
2801            WeldingRepair => "welding_repair",
2802            WholesaleClubs => "wholesale_clubs",
2803            WigAndToupeeStores => "wig_and_toupee_stores",
2804            WiresMoneyOrders => "wires_money_orders",
2805            WomensAccessoryAndSpecialtyShops => "womens_accessory_and_specialty_shops",
2806            WomensReadyToWearStores => "womens_ready_to_wear_stores",
2807            WreckingAndSalvageYards => "wrecking_and_salvage_yards",
2808            Unknown(v) => v,
2809        }
2810    }
2811}
2812
2813impl std::str::FromStr for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
2814    type Err = std::convert::Infallible;
2815    fn from_str(s: &str) -> Result<Self, Self::Err> {
2816        use CreateUnlinkedRefundIssuingTransactionMerchantDataCategory::*;
2817        match s {
2818            "ac_refrigeration_repair" => Ok(AcRefrigerationRepair),
2819            "accounting_bookkeeping_services" => Ok(AccountingBookkeepingServices),
2820            "advertising_services" => Ok(AdvertisingServices),
2821            "agricultural_cooperative" => Ok(AgriculturalCooperative),
2822            "airlines_air_carriers" => Ok(AirlinesAirCarriers),
2823            "airports_flying_fields" => Ok(AirportsFlyingFields),
2824            "ambulance_services" => Ok(AmbulanceServices),
2825            "amusement_parks_carnivals" => Ok(AmusementParksCarnivals),
2826            "antique_reproductions" => Ok(AntiqueReproductions),
2827            "antique_shops" => Ok(AntiqueShops),
2828            "aquariums" => Ok(Aquariums),
2829            "architectural_surveying_services" => Ok(ArchitecturalSurveyingServices),
2830            "art_dealers_and_galleries" => Ok(ArtDealersAndGalleries),
2831            "artists_supply_and_craft_shops" => Ok(ArtistsSupplyAndCraftShops),
2832            "auto_and_home_supply_stores" => Ok(AutoAndHomeSupplyStores),
2833            "auto_body_repair_shops" => Ok(AutoBodyRepairShops),
2834            "auto_paint_shops" => Ok(AutoPaintShops),
2835            "auto_service_shops" => Ok(AutoServiceShops),
2836            "automated_cash_disburse" => Ok(AutomatedCashDisburse),
2837            "automated_fuel_dispensers" => Ok(AutomatedFuelDispensers),
2838            "automobile_associations" => Ok(AutomobileAssociations),
2839            "automotive_parts_and_accessories_stores" => Ok(AutomotivePartsAndAccessoriesStores),
2840            "automotive_tire_stores" => Ok(AutomotiveTireStores),
2841            "bail_and_bond_payments" => Ok(BailAndBondPayments),
2842            "bakeries" => Ok(Bakeries),
2843            "bands_orchestras" => Ok(BandsOrchestras),
2844            "barber_and_beauty_shops" => Ok(BarberAndBeautyShops),
2845            "betting_casino_gambling" => Ok(BettingCasinoGambling),
2846            "bicycle_shops" => Ok(BicycleShops),
2847            "billiard_pool_establishments" => Ok(BilliardPoolEstablishments),
2848            "boat_dealers" => Ok(BoatDealers),
2849            "boat_rentals_and_leases" => Ok(BoatRentalsAndLeases),
2850            "book_stores" => Ok(BookStores),
2851            "books_periodicals_and_newspapers" => Ok(BooksPeriodicalsAndNewspapers),
2852            "bowling_alleys" => Ok(BowlingAlleys),
2853            "bus_lines" => Ok(BusLines),
2854            "business_secretarial_schools" => Ok(BusinessSecretarialSchools),
2855            "buying_shopping_services" => Ok(BuyingShoppingServices),
2856            "cable_satellite_and_other_pay_television_and_radio" => {
2857                Ok(CableSatelliteAndOtherPayTelevisionAndRadio)
2858            }
2859            "camera_and_photographic_supply_stores" => Ok(CameraAndPhotographicSupplyStores),
2860            "candy_nut_and_confectionery_stores" => Ok(CandyNutAndConfectioneryStores),
2861            "car_and_truck_dealers_new_used" => Ok(CarAndTruckDealersNewUsed),
2862            "car_and_truck_dealers_used_only" => Ok(CarAndTruckDealersUsedOnly),
2863            "car_rental_agencies" => Ok(CarRentalAgencies),
2864            "car_washes" => Ok(CarWashes),
2865            "carpentry_services" => Ok(CarpentryServices),
2866            "carpet_upholstery_cleaning" => Ok(CarpetUpholsteryCleaning),
2867            "caterers" => Ok(Caterers),
2868            "charitable_and_social_service_organizations_fundraising" => {
2869                Ok(CharitableAndSocialServiceOrganizationsFundraising)
2870            }
2871            "chemicals_and_allied_products" => Ok(ChemicalsAndAlliedProducts),
2872            "child_care_services" => Ok(ChildCareServices),
2873            "childrens_and_infants_wear_stores" => Ok(ChildrensAndInfantsWearStores),
2874            "chiropodists_podiatrists" => Ok(ChiropodistsPodiatrists),
2875            "chiropractors" => Ok(Chiropractors),
2876            "cigar_stores_and_stands" => Ok(CigarStoresAndStands),
2877            "civic_social_fraternal_associations" => Ok(CivicSocialFraternalAssociations),
2878            "cleaning_and_maintenance" => Ok(CleaningAndMaintenance),
2879            "clothing_rental" => Ok(ClothingRental),
2880            "colleges_universities" => Ok(CollegesUniversities),
2881            "commercial_equipment" => Ok(CommercialEquipment),
2882            "commercial_footwear" => Ok(CommercialFootwear),
2883            "commercial_photography_art_and_graphics" => Ok(CommercialPhotographyArtAndGraphics),
2884            "commuter_transport_and_ferries" => Ok(CommuterTransportAndFerries),
2885            "computer_network_services" => Ok(ComputerNetworkServices),
2886            "computer_programming" => Ok(ComputerProgramming),
2887            "computer_repair" => Ok(ComputerRepair),
2888            "computer_software_stores" => Ok(ComputerSoftwareStores),
2889            "computers_peripherals_and_software" => Ok(ComputersPeripheralsAndSoftware),
2890            "concrete_work_services" => Ok(ConcreteWorkServices),
2891            "construction_materials" => Ok(ConstructionMaterials),
2892            "consulting_public_relations" => Ok(ConsultingPublicRelations),
2893            "correspondence_schools" => Ok(CorrespondenceSchools),
2894            "cosmetic_stores" => Ok(CosmeticStores),
2895            "counseling_services" => Ok(CounselingServices),
2896            "country_clubs" => Ok(CountryClubs),
2897            "courier_services" => Ok(CourierServices),
2898            "court_costs" => Ok(CourtCosts),
2899            "credit_reporting_agencies" => Ok(CreditReportingAgencies),
2900            "cruise_lines" => Ok(CruiseLines),
2901            "dairy_products_stores" => Ok(DairyProductsStores),
2902            "dance_hall_studios_schools" => Ok(DanceHallStudiosSchools),
2903            "dating_escort_services" => Ok(DatingEscortServices),
2904            "dentists_orthodontists" => Ok(DentistsOrthodontists),
2905            "department_stores" => Ok(DepartmentStores),
2906            "detective_agencies" => Ok(DetectiveAgencies),
2907            "digital_goods_applications" => Ok(DigitalGoodsApplications),
2908            "digital_goods_games" => Ok(DigitalGoodsGames),
2909            "digital_goods_large_volume" => Ok(DigitalGoodsLargeVolume),
2910            "digital_goods_media" => Ok(DigitalGoodsMedia),
2911            "direct_marketing_catalog_merchant" => Ok(DirectMarketingCatalogMerchant),
2912            "direct_marketing_combination_catalog_and_retail_merchant" => {
2913                Ok(DirectMarketingCombinationCatalogAndRetailMerchant)
2914            }
2915            "direct_marketing_inbound_telemarketing" => Ok(DirectMarketingInboundTelemarketing),
2916            "direct_marketing_insurance_services" => Ok(DirectMarketingInsuranceServices),
2917            "direct_marketing_other" => Ok(DirectMarketingOther),
2918            "direct_marketing_outbound_telemarketing" => Ok(DirectMarketingOutboundTelemarketing),
2919            "direct_marketing_subscription" => Ok(DirectMarketingSubscription),
2920            "direct_marketing_travel" => Ok(DirectMarketingTravel),
2921            "discount_stores" => Ok(DiscountStores),
2922            "doctors" => Ok(Doctors),
2923            "door_to_door_sales" => Ok(DoorToDoorSales),
2924            "drapery_window_covering_and_upholstery_stores" => {
2925                Ok(DraperyWindowCoveringAndUpholsteryStores)
2926            }
2927            "drinking_places" => Ok(DrinkingPlaces),
2928            "drug_stores_and_pharmacies" => Ok(DrugStoresAndPharmacies),
2929            "drugs_drug_proprietaries_and_druggist_sundries" => {
2930                Ok(DrugsDrugProprietariesAndDruggistSundries)
2931            }
2932            "dry_cleaners" => Ok(DryCleaners),
2933            "durable_goods" => Ok(DurableGoods),
2934            "duty_free_stores" => Ok(DutyFreeStores),
2935            "eating_places_restaurants" => Ok(EatingPlacesRestaurants),
2936            "educational_services" => Ok(EducationalServices),
2937            "electric_razor_stores" => Ok(ElectricRazorStores),
2938            "electric_vehicle_charging" => Ok(ElectricVehicleCharging),
2939            "electrical_parts_and_equipment" => Ok(ElectricalPartsAndEquipment),
2940            "electrical_services" => Ok(ElectricalServices),
2941            "electronics_repair_shops" => Ok(ElectronicsRepairShops),
2942            "electronics_stores" => Ok(ElectronicsStores),
2943            "elementary_secondary_schools" => Ok(ElementarySecondarySchools),
2944            "emergency_services_gcas_visa_use_only" => Ok(EmergencyServicesGcasVisaUseOnly),
2945            "employment_temp_agencies" => Ok(EmploymentTempAgencies),
2946            "equipment_rental" => Ok(EquipmentRental),
2947            "exterminating_services" => Ok(ExterminatingServices),
2948            "family_clothing_stores" => Ok(FamilyClothingStores),
2949            "fast_food_restaurants" => Ok(FastFoodRestaurants),
2950            "financial_institutions" => Ok(FinancialInstitutions),
2951            "fines_government_administrative_entities" => Ok(FinesGovernmentAdministrativeEntities),
2952            "fireplace_fireplace_screens_and_accessories_stores" => {
2953                Ok(FireplaceFireplaceScreensAndAccessoriesStores)
2954            }
2955            "floor_covering_stores" => Ok(FloorCoveringStores),
2956            "florists" => Ok(Florists),
2957            "florists_supplies_nursery_stock_and_flowers" => {
2958                Ok(FloristsSuppliesNurseryStockAndFlowers)
2959            }
2960            "freezer_and_locker_meat_provisioners" => Ok(FreezerAndLockerMeatProvisioners),
2961            "fuel_dealers_non_automotive" => Ok(FuelDealersNonAutomotive),
2962            "funeral_services_crematories" => Ok(FuneralServicesCrematories),
2963            "furniture_home_furnishings_and_equipment_stores_except_appliances" => {
2964                Ok(FurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances)
2965            }
2966            "furniture_repair_refinishing" => Ok(FurnitureRepairRefinishing),
2967            "furriers_and_fur_shops" => Ok(FurriersAndFurShops),
2968            "general_services" => Ok(GeneralServices),
2969            "gift_card_novelty_and_souvenir_shops" => Ok(GiftCardNoveltyAndSouvenirShops),
2970            "glass_paint_and_wallpaper_stores" => Ok(GlassPaintAndWallpaperStores),
2971            "glassware_crystal_stores" => Ok(GlasswareCrystalStores),
2972            "golf_courses_public" => Ok(GolfCoursesPublic),
2973            "government_licensed_horse_dog_racing_us_region_only" => {
2974                Ok(GovernmentLicensedHorseDogRacingUsRegionOnly)
2975            }
2976            "government_licensed_online_casions_online_gambling_us_region_only" => {
2977                Ok(GovernmentLicensedOnlineCasionsOnlineGamblingUsRegionOnly)
2978            }
2979            "government_owned_lotteries_non_us_region" => Ok(GovernmentOwnedLotteriesNonUsRegion),
2980            "government_owned_lotteries_us_region_only" => Ok(GovernmentOwnedLotteriesUsRegionOnly),
2981            "government_services" => Ok(GovernmentServices),
2982            "grocery_stores_supermarkets" => Ok(GroceryStoresSupermarkets),
2983            "hardware_equipment_and_supplies" => Ok(HardwareEquipmentAndSupplies),
2984            "hardware_stores" => Ok(HardwareStores),
2985            "health_and_beauty_spas" => Ok(HealthAndBeautySpas),
2986            "hearing_aids_sales_and_supplies" => Ok(HearingAidsSalesAndSupplies),
2987            "heating_plumbing_a_c" => Ok(HeatingPlumbingAC),
2988            "hobby_toy_and_game_shops" => Ok(HobbyToyAndGameShops),
2989            "home_supply_warehouse_stores" => Ok(HomeSupplyWarehouseStores),
2990            "hospitals" => Ok(Hospitals),
2991            "hotels_motels_and_resorts" => Ok(HotelsMotelsAndResorts),
2992            "household_appliance_stores" => Ok(HouseholdApplianceStores),
2993            "industrial_supplies" => Ok(IndustrialSupplies),
2994            "information_retrieval_services" => Ok(InformationRetrievalServices),
2995            "insurance_default" => Ok(InsuranceDefault),
2996            "insurance_underwriting_premiums" => Ok(InsuranceUnderwritingPremiums),
2997            "intra_company_purchases" => Ok(IntraCompanyPurchases),
2998            "jewelry_stores_watches_clocks_and_silverware_stores" => {
2999                Ok(JewelryStoresWatchesClocksAndSilverwareStores)
3000            }
3001            "landscaping_services" => Ok(LandscapingServices),
3002            "laundries" => Ok(Laundries),
3003            "laundry_cleaning_services" => Ok(LaundryCleaningServices),
3004            "legal_services_attorneys" => Ok(LegalServicesAttorneys),
3005            "luggage_and_leather_goods_stores" => Ok(LuggageAndLeatherGoodsStores),
3006            "lumber_building_materials_stores" => Ok(LumberBuildingMaterialsStores),
3007            "manual_cash_disburse" => Ok(ManualCashDisburse),
3008            "marinas_service_and_supplies" => Ok(MarinasServiceAndSupplies),
3009            "marketplaces" => Ok(Marketplaces),
3010            "masonry_stonework_and_plaster" => Ok(MasonryStoneworkAndPlaster),
3011            "massage_parlors" => Ok(MassageParlors),
3012            "medical_and_dental_labs" => Ok(MedicalAndDentalLabs),
3013            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" => {
3014                Ok(MedicalDentalOphthalmicAndHospitalEquipmentAndSupplies)
3015            }
3016            "medical_services" => Ok(MedicalServices),
3017            "membership_organizations" => Ok(MembershipOrganizations),
3018            "mens_and_boys_clothing_and_accessories_stores" => {
3019                Ok(MensAndBoysClothingAndAccessoriesStores)
3020            }
3021            "mens_womens_clothing_stores" => Ok(MensWomensClothingStores),
3022            "metal_service_centers" => Ok(MetalServiceCenters),
3023            "miscellaneous_apparel_and_accessory_shops" => {
3024                Ok(MiscellaneousApparelAndAccessoryShops)
3025            }
3026            "miscellaneous_auto_dealers" => Ok(MiscellaneousAutoDealers),
3027            "miscellaneous_business_services" => Ok(MiscellaneousBusinessServices),
3028            "miscellaneous_food_stores" => Ok(MiscellaneousFoodStores),
3029            "miscellaneous_general_merchandise" => Ok(MiscellaneousGeneralMerchandise),
3030            "miscellaneous_general_services" => Ok(MiscellaneousGeneralServices),
3031            "miscellaneous_home_furnishing_specialty_stores" => {
3032                Ok(MiscellaneousHomeFurnishingSpecialtyStores)
3033            }
3034            "miscellaneous_publishing_and_printing" => Ok(MiscellaneousPublishingAndPrinting),
3035            "miscellaneous_recreation_services" => Ok(MiscellaneousRecreationServices),
3036            "miscellaneous_repair_shops" => Ok(MiscellaneousRepairShops),
3037            "miscellaneous_specialty_retail" => Ok(MiscellaneousSpecialtyRetail),
3038            "mobile_home_dealers" => Ok(MobileHomeDealers),
3039            "motion_picture_theaters" => Ok(MotionPictureTheaters),
3040            "motor_freight_carriers_and_trucking" => Ok(MotorFreightCarriersAndTrucking),
3041            "motor_homes_dealers" => Ok(MotorHomesDealers),
3042            "motor_vehicle_supplies_and_new_parts" => Ok(MotorVehicleSuppliesAndNewParts),
3043            "motorcycle_shops_and_dealers" => Ok(MotorcycleShopsAndDealers),
3044            "motorcycle_shops_dealers" => Ok(MotorcycleShopsDealers),
3045            "music_stores_musical_instruments_pianos_and_sheet_music" => {
3046                Ok(MusicStoresMusicalInstrumentsPianosAndSheetMusic)
3047            }
3048            "news_dealers_and_newsstands" => Ok(NewsDealersAndNewsstands),
3049            "non_fi_money_orders" => Ok(NonFiMoneyOrders),
3050            "non_fi_stored_value_card_purchase_load" => Ok(NonFiStoredValueCardPurchaseLoad),
3051            "nondurable_goods" => Ok(NondurableGoods),
3052            "nurseries_lawn_and_garden_supply_stores" => Ok(NurseriesLawnAndGardenSupplyStores),
3053            "nursing_personal_care" => Ok(NursingPersonalCare),
3054            "office_and_commercial_furniture" => Ok(OfficeAndCommercialFurniture),
3055            "opticians_eyeglasses" => Ok(OpticiansEyeglasses),
3056            "optometrists_ophthalmologist" => Ok(OptometristsOphthalmologist),
3057            "orthopedic_goods_prosthetic_devices" => Ok(OrthopedicGoodsProstheticDevices),
3058            "osteopaths" => Ok(Osteopaths),
3059            "package_stores_beer_wine_and_liquor" => Ok(PackageStoresBeerWineAndLiquor),
3060            "paints_varnishes_and_supplies" => Ok(PaintsVarnishesAndSupplies),
3061            "parking_lots_garages" => Ok(ParkingLotsGarages),
3062            "passenger_railways" => Ok(PassengerRailways),
3063            "pawn_shops" => Ok(PawnShops),
3064            "pet_shops_pet_food_and_supplies" => Ok(PetShopsPetFoodAndSupplies),
3065            "petroleum_and_petroleum_products" => Ok(PetroleumAndPetroleumProducts),
3066            "photo_developing" => Ok(PhotoDeveloping),
3067            "photographic_photocopy_microfilm_equipment_and_supplies" => {
3068                Ok(PhotographicPhotocopyMicrofilmEquipmentAndSupplies)
3069            }
3070            "photographic_studios" => Ok(PhotographicStudios),
3071            "picture_video_production" => Ok(PictureVideoProduction),
3072            "piece_goods_notions_and_other_dry_goods" => Ok(PieceGoodsNotionsAndOtherDryGoods),
3073            "plumbing_heating_equipment_and_supplies" => Ok(PlumbingHeatingEquipmentAndSupplies),
3074            "political_organizations" => Ok(PoliticalOrganizations),
3075            "postal_services_government_only" => Ok(PostalServicesGovernmentOnly),
3076            "precious_stones_and_metals_watches_and_jewelry" => {
3077                Ok(PreciousStonesAndMetalsWatchesAndJewelry)
3078            }
3079            "professional_services" => Ok(ProfessionalServices),
3080            "public_warehousing_and_storage" => Ok(PublicWarehousingAndStorage),
3081            "quick_copy_repro_and_blueprint" => Ok(QuickCopyReproAndBlueprint),
3082            "railroads" => Ok(Railroads),
3083            "real_estate_agents_and_managers_rentals" => Ok(RealEstateAgentsAndManagersRentals),
3084            "record_stores" => Ok(RecordStores),
3085            "recreational_vehicle_rentals" => Ok(RecreationalVehicleRentals),
3086            "religious_goods_stores" => Ok(ReligiousGoodsStores),
3087            "religious_organizations" => Ok(ReligiousOrganizations),
3088            "roofing_siding_sheet_metal" => Ok(RoofingSidingSheetMetal),
3089            "secretarial_support_services" => Ok(SecretarialSupportServices),
3090            "security_brokers_dealers" => Ok(SecurityBrokersDealers),
3091            "service_stations" => Ok(ServiceStations),
3092            "sewing_needlework_fabric_and_piece_goods_stores" => {
3093                Ok(SewingNeedleworkFabricAndPieceGoodsStores)
3094            }
3095            "shoe_repair_hat_cleaning" => Ok(ShoeRepairHatCleaning),
3096            "shoe_stores" => Ok(ShoeStores),
3097            "small_appliance_repair" => Ok(SmallApplianceRepair),
3098            "snowmobile_dealers" => Ok(SnowmobileDealers),
3099            "special_trade_services" => Ok(SpecialTradeServices),
3100            "specialty_cleaning" => Ok(SpecialtyCleaning),
3101            "sporting_goods_stores" => Ok(SportingGoodsStores),
3102            "sporting_recreation_camps" => Ok(SportingRecreationCamps),
3103            "sports_and_riding_apparel_stores" => Ok(SportsAndRidingApparelStores),
3104            "sports_clubs_fields" => Ok(SportsClubsFields),
3105            "stamp_and_coin_stores" => Ok(StampAndCoinStores),
3106            "stationary_office_supplies_printing_and_writing_paper" => {
3107                Ok(StationaryOfficeSuppliesPrintingAndWritingPaper)
3108            }
3109            "stationery_stores_office_and_school_supply_stores" => {
3110                Ok(StationeryStoresOfficeAndSchoolSupplyStores)
3111            }
3112            "swimming_pools_sales" => Ok(SwimmingPoolsSales),
3113            "t_ui_travel_germany" => Ok(TUiTravelGermany),
3114            "tailors_alterations" => Ok(TailorsAlterations),
3115            "tax_payments_government_agencies" => Ok(TaxPaymentsGovernmentAgencies),
3116            "tax_preparation_services" => Ok(TaxPreparationServices),
3117            "taxicabs_limousines" => Ok(TaxicabsLimousines),
3118            "telecommunication_equipment_and_telephone_sales" => {
3119                Ok(TelecommunicationEquipmentAndTelephoneSales)
3120            }
3121            "telecommunication_services" => Ok(TelecommunicationServices),
3122            "telegraph_services" => Ok(TelegraphServices),
3123            "tent_and_awning_shops" => Ok(TentAndAwningShops),
3124            "testing_laboratories" => Ok(TestingLaboratories),
3125            "theatrical_ticket_agencies" => Ok(TheatricalTicketAgencies),
3126            "timeshares" => Ok(Timeshares),
3127            "tire_retreading_and_repair" => Ok(TireRetreadingAndRepair),
3128            "tolls_bridge_fees" => Ok(TollsBridgeFees),
3129            "tourist_attractions_and_exhibits" => Ok(TouristAttractionsAndExhibits),
3130            "towing_services" => Ok(TowingServices),
3131            "trailer_parks_campgrounds" => Ok(TrailerParksCampgrounds),
3132            "transportation_services" => Ok(TransportationServices),
3133            "travel_agencies_tour_operators" => Ok(TravelAgenciesTourOperators),
3134            "truck_stop_iteration" => Ok(TruckStopIteration),
3135            "truck_utility_trailer_rentals" => Ok(TruckUtilityTrailerRentals),
3136            "typesetting_plate_making_and_related_services" => {
3137                Ok(TypesettingPlateMakingAndRelatedServices)
3138            }
3139            "typewriter_stores" => Ok(TypewriterStores),
3140            "u_s_federal_government_agencies_or_departments" => {
3141                Ok(USFederalGovernmentAgenciesOrDepartments)
3142            }
3143            "uniforms_commercial_clothing" => Ok(UniformsCommercialClothing),
3144            "used_merchandise_and_secondhand_stores" => Ok(UsedMerchandiseAndSecondhandStores),
3145            "utilities" => Ok(Utilities),
3146            "variety_stores" => Ok(VarietyStores),
3147            "veterinary_services" => Ok(VeterinaryServices),
3148            "video_amusement_game_supplies" => Ok(VideoAmusementGameSupplies),
3149            "video_game_arcades" => Ok(VideoGameArcades),
3150            "video_tape_rental_stores" => Ok(VideoTapeRentalStores),
3151            "vocational_trade_schools" => Ok(VocationalTradeSchools),
3152            "watch_jewelry_repair" => Ok(WatchJewelryRepair),
3153            "welding_repair" => Ok(WeldingRepair),
3154            "wholesale_clubs" => Ok(WholesaleClubs),
3155            "wig_and_toupee_stores" => Ok(WigAndToupeeStores),
3156            "wires_money_orders" => Ok(WiresMoneyOrders),
3157            "womens_accessory_and_specialty_shops" => Ok(WomensAccessoryAndSpecialtyShops),
3158            "womens_ready_to_wear_stores" => Ok(WomensReadyToWearStores),
3159            "wrecking_and_salvage_yards" => Ok(WreckingAndSalvageYards),
3160            v => {
3161                tracing::warn!(
3162                    "Unknown value '{}' for enum '{}'",
3163                    v,
3164                    "CreateUnlinkedRefundIssuingTransactionMerchantDataCategory"
3165                );
3166                Ok(Unknown(v.to_owned()))
3167            }
3168        }
3169    }
3170}
3171impl std::fmt::Display for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
3172    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3173        f.write_str(self.as_str())
3174    }
3175}
3176
3177#[cfg(not(feature = "redact-generated-debug"))]
3178impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
3179    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3180        f.write_str(self.as_str())
3181    }
3182}
3183#[cfg(feature = "redact-generated-debug")]
3184impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
3185    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3186        f.debug_struct(stringify!(CreateUnlinkedRefundIssuingTransactionMerchantDataCategory))
3187            .finish_non_exhaustive()
3188    }
3189}
3190impl serde::Serialize for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
3191    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3192    where
3193        S: serde::Serializer,
3194    {
3195        serializer.serialize_str(self.as_str())
3196    }
3197}
3198#[cfg(feature = "deserialize")]
3199impl<'de> serde::Deserialize<'de> for CreateUnlinkedRefundIssuingTransactionMerchantDataCategory {
3200    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
3201        use std::str::FromStr;
3202        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
3203        Ok(Self::from_str(&s).expect("infallible"))
3204    }
3205}
3206/// Additional purchase information that is optionally provided by the merchant.
3207#[derive(Clone, Eq, PartialEq)]
3208#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3209#[derive(serde::Serialize)]
3210pub struct CreateUnlinkedRefundIssuingTransactionPurchaseDetails {
3211    /// Fleet-specific information for transactions using Fleet cards.
3212    #[serde(skip_serializing_if = "Option::is_none")]
3213    pub fleet: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet>,
3214    /// Information about the flight that was purchased with this transaction.
3215    #[serde(skip_serializing_if = "Option::is_none")]
3216    pub flight: Option<FlightSpecs>,
3217    /// Information about fuel that was purchased with this transaction.
3218    #[serde(skip_serializing_if = "Option::is_none")]
3219    pub fuel: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel>,
3220    /// Information about lodging that was purchased with this transaction.
3221    #[serde(skip_serializing_if = "Option::is_none")]
3222    pub lodging: Option<LodgingSpecs>,
3223    /// The line items in the purchase.
3224    #[serde(skip_serializing_if = "Option::is_none")]
3225    pub receipt: Option<Vec<ReceiptSpecs>>,
3226    /// A merchant-specific order number.
3227    #[serde(skip_serializing_if = "Option::is_none")]
3228    pub reference: Option<String>,
3229}
3230#[cfg(feature = "redact-generated-debug")]
3231impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetails {
3232    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3233        f.debug_struct("CreateUnlinkedRefundIssuingTransactionPurchaseDetails")
3234            .finish_non_exhaustive()
3235    }
3236}
3237impl CreateUnlinkedRefundIssuingTransactionPurchaseDetails {
3238    pub fn new() -> Self {
3239        Self {
3240            fleet: None,
3241            flight: None,
3242            fuel: None,
3243            lodging: None,
3244            receipt: None,
3245            reference: None,
3246        }
3247    }
3248}
3249impl Default for CreateUnlinkedRefundIssuingTransactionPurchaseDetails {
3250    fn default() -> Self {
3251        Self::new()
3252    }
3253}
3254/// Fleet-specific information for transactions using Fleet cards.
3255#[derive(Clone, Eq, PartialEq)]
3256#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3257#[derive(serde::Serialize)]
3258pub struct CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet {
3259    /// Answers to prompts presented to the cardholder at the point of sale.
3260    /// Prompted fields vary depending on the configuration of your physical fleet cards.
3261    /// Typical points of sale support only numeric entry.
3262    #[serde(skip_serializing_if = "Option::is_none")]
3263    pub cardholder_prompt_data: Option<FleetCardholderPromptDataSpecs>,
3264    /// The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`.
3265    #[serde(skip_serializing_if = "Option::is_none")]
3266    pub purchase_type:
3267        Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType>,
3268    /// More information about the total amount.
3269    /// This information is not guaranteed to be accurate as some merchants may provide unreliable data.
3270    #[serde(skip_serializing_if = "Option::is_none")]
3271    pub reported_breakdown: Option<FleetReportedBreakdownSpecs>,
3272    /// The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`.
3273    #[serde(skip_serializing_if = "Option::is_none")]
3274    pub service_type: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType>,
3275}
3276#[cfg(feature = "redact-generated-debug")]
3277impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet {
3278    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3279        f.debug_struct("CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet")
3280            .finish_non_exhaustive()
3281    }
3282}
3283impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet {
3284    pub fn new() -> Self {
3285        Self {
3286            cardholder_prompt_data: None,
3287            purchase_type: None,
3288            reported_breakdown: None,
3289            service_type: None,
3290        }
3291    }
3292}
3293impl Default for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleet {
3294    fn default() -> Self {
3295        Self::new()
3296    }
3297}
3298/// The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`.
3299#[derive(Clone, Eq, PartialEq)]
3300#[non_exhaustive]
3301pub enum CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3302    FuelAndNonFuelPurchase,
3303    FuelPurchase,
3304    NonFuelPurchase,
3305    /// An unrecognized value from Stripe. Should not be used as a request parameter.
3306    Unknown(String),
3307}
3308impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3309    pub fn as_str(&self) -> &str {
3310        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType::*;
3311        match self {
3312            FuelAndNonFuelPurchase => "fuel_and_non_fuel_purchase",
3313            FuelPurchase => "fuel_purchase",
3314            NonFuelPurchase => "non_fuel_purchase",
3315            Unknown(v) => v,
3316        }
3317    }
3318}
3319
3320impl std::str::FromStr for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3321    type Err = std::convert::Infallible;
3322    fn from_str(s: &str) -> Result<Self, Self::Err> {
3323        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType::*;
3324        match s {
3325            "fuel_and_non_fuel_purchase" => Ok(FuelAndNonFuelPurchase),
3326            "fuel_purchase" => Ok(FuelPurchase),
3327            "non_fuel_purchase" => Ok(NonFuelPurchase),
3328            v => {
3329                tracing::warn!(
3330                    "Unknown value '{}' for enum '{}'",
3331                    v,
3332                    "CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType"
3333                );
3334                Ok(Unknown(v.to_owned()))
3335            }
3336        }
3337    }
3338}
3339impl std::fmt::Display for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3340    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3341        f.write_str(self.as_str())
3342    }
3343}
3344
3345#[cfg(not(feature = "redact-generated-debug"))]
3346impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3347    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3348        f.write_str(self.as_str())
3349    }
3350}
3351#[cfg(feature = "redact-generated-debug")]
3352impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3353    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3354        f.debug_struct(stringify!(
3355            CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType
3356        ))
3357        .finish_non_exhaustive()
3358    }
3359}
3360impl serde::Serialize for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType {
3361    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3362    where
3363        S: serde::Serializer,
3364    {
3365        serializer.serialize_str(self.as_str())
3366    }
3367}
3368#[cfg(feature = "deserialize")]
3369impl<'de> serde::Deserialize<'de>
3370    for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetPurchaseType
3371{
3372    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
3373        use std::str::FromStr;
3374        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
3375        Ok(Self::from_str(&s).expect("infallible"))
3376    }
3377}
3378/// The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`.
3379#[derive(Clone, Eq, PartialEq)]
3380#[non_exhaustive]
3381pub enum CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3382    FullService,
3383    NonFuelTransaction,
3384    SelfService,
3385    /// An unrecognized value from Stripe. Should not be used as a request parameter.
3386    Unknown(String),
3387}
3388impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3389    pub fn as_str(&self) -> &str {
3390        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType::*;
3391        match self {
3392            FullService => "full_service",
3393            NonFuelTransaction => "non_fuel_transaction",
3394            SelfService => "self_service",
3395            Unknown(v) => v,
3396        }
3397    }
3398}
3399
3400impl std::str::FromStr for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3401    type Err = std::convert::Infallible;
3402    fn from_str(s: &str) -> Result<Self, Self::Err> {
3403        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType::*;
3404        match s {
3405            "full_service" => Ok(FullService),
3406            "non_fuel_transaction" => Ok(NonFuelTransaction),
3407            "self_service" => Ok(SelfService),
3408            v => {
3409                tracing::warn!(
3410                    "Unknown value '{}' for enum '{}'",
3411                    v,
3412                    "CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType"
3413                );
3414                Ok(Unknown(v.to_owned()))
3415            }
3416        }
3417    }
3418}
3419impl std::fmt::Display for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3420    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3421        f.write_str(self.as_str())
3422    }
3423}
3424
3425#[cfg(not(feature = "redact-generated-debug"))]
3426impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3427    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3428        f.write_str(self.as_str())
3429    }
3430}
3431#[cfg(feature = "redact-generated-debug")]
3432impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3433    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3434        f.debug_struct(stringify!(
3435            CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType
3436        ))
3437        .finish_non_exhaustive()
3438    }
3439}
3440impl serde::Serialize for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType {
3441    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3442    where
3443        S: serde::Serializer,
3444    {
3445        serializer.serialize_str(self.as_str())
3446    }
3447}
3448#[cfg(feature = "deserialize")]
3449impl<'de> serde::Deserialize<'de>
3450    for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFleetServiceType
3451{
3452    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
3453        use std::str::FromStr;
3454        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
3455        Ok(Self::from_str(&s).expect("infallible"))
3456    }
3457}
3458/// Information about fuel that was purchased with this transaction.
3459#[derive(Clone, Eq, PartialEq)]
3460#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3461#[derive(serde::Serialize)]
3462pub struct CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel {
3463    /// [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased.
3464    #[serde(skip_serializing_if = "Option::is_none")]
3465    pub industry_product_code: Option<String>,
3466    /// The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places.
3467    #[serde(skip_serializing_if = "Option::is_none")]
3468    pub quantity_decimal: Option<String>,
3469    /// The type of fuel that was purchased.
3470    /// One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.
3471    #[serde(rename = "type")]
3472    #[serde(skip_serializing_if = "Option::is_none")]
3473    pub type_: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType>,
3474    /// The units for `quantity_decimal`.
3475    /// One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`.
3476    #[serde(skip_serializing_if = "Option::is_none")]
3477    pub unit: Option<CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit>,
3478    /// The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places.
3479    #[serde(skip_serializing_if = "Option::is_none")]
3480    pub unit_cost_decimal: Option<String>,
3481}
3482#[cfg(feature = "redact-generated-debug")]
3483impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel {
3484    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3485        f.debug_struct("CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel")
3486            .finish_non_exhaustive()
3487    }
3488}
3489impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel {
3490    pub fn new() -> Self {
3491        Self {
3492            industry_product_code: None,
3493            quantity_decimal: None,
3494            type_: None,
3495            unit: None,
3496            unit_cost_decimal: None,
3497        }
3498    }
3499}
3500impl Default for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuel {
3501    fn default() -> Self {
3502        Self::new()
3503    }
3504}
3505/// The type of fuel that was purchased.
3506/// One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.
3507#[derive(Clone, Eq, PartialEq)]
3508#[non_exhaustive]
3509pub enum CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3510    Diesel,
3511    Other,
3512    UnleadedPlus,
3513    UnleadedRegular,
3514    UnleadedSuper,
3515    /// An unrecognized value from Stripe. Should not be used as a request parameter.
3516    Unknown(String),
3517}
3518impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3519    pub fn as_str(&self) -> &str {
3520        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType::*;
3521        match self {
3522            Diesel => "diesel",
3523            Other => "other",
3524            UnleadedPlus => "unleaded_plus",
3525            UnleadedRegular => "unleaded_regular",
3526            UnleadedSuper => "unleaded_super",
3527            Unknown(v) => v,
3528        }
3529    }
3530}
3531
3532impl std::str::FromStr for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3533    type Err = std::convert::Infallible;
3534    fn from_str(s: &str) -> Result<Self, Self::Err> {
3535        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType::*;
3536        match s {
3537            "diesel" => Ok(Diesel),
3538            "other" => Ok(Other),
3539            "unleaded_plus" => Ok(UnleadedPlus),
3540            "unleaded_regular" => Ok(UnleadedRegular),
3541            "unleaded_super" => Ok(UnleadedSuper),
3542            v => {
3543                tracing::warn!(
3544                    "Unknown value '{}' for enum '{}'",
3545                    v,
3546                    "CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType"
3547                );
3548                Ok(Unknown(v.to_owned()))
3549            }
3550        }
3551    }
3552}
3553impl std::fmt::Display for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3554    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3555        f.write_str(self.as_str())
3556    }
3557}
3558
3559#[cfg(not(feature = "redact-generated-debug"))]
3560impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3561    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3562        f.write_str(self.as_str())
3563    }
3564}
3565#[cfg(feature = "redact-generated-debug")]
3566impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3567    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3568        f.debug_struct(stringify!(CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType))
3569            .finish_non_exhaustive()
3570    }
3571}
3572impl serde::Serialize for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType {
3573    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3574    where
3575        S: serde::Serializer,
3576    {
3577        serializer.serialize_str(self.as_str())
3578    }
3579}
3580#[cfg(feature = "deserialize")]
3581impl<'de> serde::Deserialize<'de>
3582    for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelType
3583{
3584    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
3585        use std::str::FromStr;
3586        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
3587        Ok(Self::from_str(&s).expect("infallible"))
3588    }
3589}
3590/// The units for `quantity_decimal`.
3591/// One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`.
3592#[derive(Clone, Eq, PartialEq)]
3593#[non_exhaustive]
3594pub enum CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3595    ChargingMinute,
3596    ImperialGallon,
3597    Kilogram,
3598    KilowattHour,
3599    Liter,
3600    Other,
3601    Pound,
3602    UsGallon,
3603    /// An unrecognized value from Stripe. Should not be used as a request parameter.
3604    Unknown(String),
3605}
3606impl CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3607    pub fn as_str(&self) -> &str {
3608        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit::*;
3609        match self {
3610            ChargingMinute => "charging_minute",
3611            ImperialGallon => "imperial_gallon",
3612            Kilogram => "kilogram",
3613            KilowattHour => "kilowatt_hour",
3614            Liter => "liter",
3615            Other => "other",
3616            Pound => "pound",
3617            UsGallon => "us_gallon",
3618            Unknown(v) => v,
3619        }
3620    }
3621}
3622
3623impl std::str::FromStr for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3624    type Err = std::convert::Infallible;
3625    fn from_str(s: &str) -> Result<Self, Self::Err> {
3626        use CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit::*;
3627        match s {
3628            "charging_minute" => Ok(ChargingMinute),
3629            "imperial_gallon" => Ok(ImperialGallon),
3630            "kilogram" => Ok(Kilogram),
3631            "kilowatt_hour" => Ok(KilowattHour),
3632            "liter" => Ok(Liter),
3633            "other" => Ok(Other),
3634            "pound" => Ok(Pound),
3635            "us_gallon" => Ok(UsGallon),
3636            v => {
3637                tracing::warn!(
3638                    "Unknown value '{}' for enum '{}'",
3639                    v,
3640                    "CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit"
3641                );
3642                Ok(Unknown(v.to_owned()))
3643            }
3644        }
3645    }
3646}
3647impl std::fmt::Display for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3648    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3649        f.write_str(self.as_str())
3650    }
3651}
3652
3653#[cfg(not(feature = "redact-generated-debug"))]
3654impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3655    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3656        f.write_str(self.as_str())
3657    }
3658}
3659#[cfg(feature = "redact-generated-debug")]
3660impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3661    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3662        f.debug_struct(stringify!(CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit))
3663            .finish_non_exhaustive()
3664    }
3665}
3666impl serde::Serialize for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit {
3667    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
3668    where
3669        S: serde::Serializer,
3670    {
3671        serializer.serialize_str(self.as_str())
3672    }
3673}
3674#[cfg(feature = "deserialize")]
3675impl<'de> serde::Deserialize<'de>
3676    for CreateUnlinkedRefundIssuingTransactionPurchaseDetailsFuelUnit
3677{
3678    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
3679        use std::str::FromStr;
3680        let s: std::borrow::Cow<'de, str> = serde::Deserialize::deserialize(deserializer)?;
3681        Ok(Self::from_str(&s).expect("infallible"))
3682    }
3683}
3684/// Allows the user to refund an arbitrary amount, also known as a unlinked refund.
3685#[derive(Clone)]
3686#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3687#[derive(serde::Serialize)]
3688pub struct CreateUnlinkedRefundIssuingTransaction {
3689    inner: CreateUnlinkedRefundIssuingTransactionBuilder,
3690}
3691#[cfg(feature = "redact-generated-debug")]
3692impl std::fmt::Debug for CreateUnlinkedRefundIssuingTransaction {
3693    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3694        f.debug_struct("CreateUnlinkedRefundIssuingTransaction").finish_non_exhaustive()
3695    }
3696}
3697impl CreateUnlinkedRefundIssuingTransaction {
3698    /// Construct a new `CreateUnlinkedRefundIssuingTransaction`.
3699    pub fn new(amount: impl Into<i64>, card: impl Into<String>) -> Self {
3700        Self {
3701            inner: CreateUnlinkedRefundIssuingTransactionBuilder::new(amount.into(), card.into()),
3702        }
3703    }
3704    /// The currency of the unlinked refund.
3705    /// If not provided, defaults to the currency of the card.
3706    /// Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
3707    /// Must be a [supported currency](https://stripe.com/docs/currencies).
3708    pub fn currency(mut self, currency: impl Into<stripe_types::Currency>) -> Self {
3709        self.inner.currency = Some(currency.into());
3710        self
3711    }
3712    /// Specifies which fields in the response should be expanded.
3713    pub fn expand(mut self, expand: impl Into<Vec<String>>) -> Self {
3714        self.inner.expand = Some(expand.into());
3715        self
3716    }
3717    /// Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened.
3718    pub fn merchant_data(
3719        mut self,
3720        merchant_data: impl Into<CreateUnlinkedRefundIssuingTransactionMerchantData>,
3721    ) -> Self {
3722        self.inner.merchant_data = Some(merchant_data.into());
3723        self
3724    }
3725    /// Additional purchase information that is optionally provided by the merchant.
3726    pub fn purchase_details(
3727        mut self,
3728        purchase_details: impl Into<CreateUnlinkedRefundIssuingTransactionPurchaseDetails>,
3729    ) -> Self {
3730        self.inner.purchase_details = Some(purchase_details.into());
3731        self
3732    }
3733}
3734impl CreateUnlinkedRefundIssuingTransaction {
3735    /// Send the request and return the deserialized response.
3736    pub async fn send<C: StripeClient>(
3737        &self,
3738        client: &C,
3739    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
3740        self.customize().send(client).await
3741    }
3742
3743    /// Send the request and return the deserialized response, blocking until completion.
3744    pub fn send_blocking<C: StripeBlockingClient>(
3745        &self,
3746        client: &C,
3747    ) -> Result<<Self as StripeRequest>::Output, C::Err> {
3748        self.customize().send_blocking(client)
3749    }
3750}
3751
3752impl StripeRequest for CreateUnlinkedRefundIssuingTransaction {
3753    type Output = stripe_shared::IssuingTransaction;
3754
3755    fn build(&self) -> RequestBuilder {
3756        RequestBuilder::new(
3757            StripeMethod::Post,
3758            "/test_helpers/issuing/transactions/create_unlinked_refund",
3759        )
3760        .form(&self.inner)
3761    }
3762}
3763
3764#[derive(Clone, Eq, PartialEq)]
3765#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3766#[derive(serde::Serialize)]
3767pub struct FleetCardholderPromptDataSpecs {
3768    /// Driver ID.
3769    #[serde(skip_serializing_if = "Option::is_none")]
3770    pub driver_id: Option<String>,
3771    /// Odometer reading.
3772    #[serde(skip_serializing_if = "Option::is_none")]
3773    pub odometer: Option<i64>,
3774    /// An alphanumeric ID.
3775    /// This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type.
3776    #[serde(skip_serializing_if = "Option::is_none")]
3777    pub unspecified_id: Option<String>,
3778    /// User ID.
3779    #[serde(skip_serializing_if = "Option::is_none")]
3780    pub user_id: Option<String>,
3781    /// Vehicle number.
3782    #[serde(skip_serializing_if = "Option::is_none")]
3783    pub vehicle_number: Option<String>,
3784}
3785#[cfg(feature = "redact-generated-debug")]
3786impl std::fmt::Debug for FleetCardholderPromptDataSpecs {
3787    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3788        f.debug_struct("FleetCardholderPromptDataSpecs").finish_non_exhaustive()
3789    }
3790}
3791impl FleetCardholderPromptDataSpecs {
3792    pub fn new() -> Self {
3793        Self {
3794            driver_id: None,
3795            odometer: None,
3796            unspecified_id: None,
3797            user_id: None,
3798            vehicle_number: None,
3799        }
3800    }
3801}
3802impl Default for FleetCardholderPromptDataSpecs {
3803    fn default() -> Self {
3804        Self::new()
3805    }
3806}
3807#[derive(Clone, Eq, PartialEq)]
3808#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3809#[derive(serde::Serialize)]
3810pub struct FleetReportedBreakdownFuelSpecs {
3811    /// Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes.
3812    #[serde(skip_serializing_if = "Option::is_none")]
3813    pub gross_amount_decimal: Option<String>,
3814}
3815#[cfg(feature = "redact-generated-debug")]
3816impl std::fmt::Debug for FleetReportedBreakdownFuelSpecs {
3817    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3818        f.debug_struct("FleetReportedBreakdownFuelSpecs").finish_non_exhaustive()
3819    }
3820}
3821impl FleetReportedBreakdownFuelSpecs {
3822    pub fn new() -> Self {
3823        Self { gross_amount_decimal: None }
3824    }
3825}
3826impl Default for FleetReportedBreakdownFuelSpecs {
3827    fn default() -> Self {
3828        Self::new()
3829    }
3830}
3831#[derive(Clone, Eq, PartialEq)]
3832#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3833#[derive(serde::Serialize)]
3834pub struct FleetReportedBreakdownNonFuelSpecs {
3835    /// Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes.
3836    #[serde(skip_serializing_if = "Option::is_none")]
3837    pub gross_amount_decimal: Option<String>,
3838}
3839#[cfg(feature = "redact-generated-debug")]
3840impl std::fmt::Debug for FleetReportedBreakdownNonFuelSpecs {
3841    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3842        f.debug_struct("FleetReportedBreakdownNonFuelSpecs").finish_non_exhaustive()
3843    }
3844}
3845impl FleetReportedBreakdownNonFuelSpecs {
3846    pub fn new() -> Self {
3847        Self { gross_amount_decimal: None }
3848    }
3849}
3850impl Default for FleetReportedBreakdownNonFuelSpecs {
3851    fn default() -> Self {
3852        Self::new()
3853    }
3854}
3855#[derive(Clone, Eq, PartialEq)]
3856#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3857#[derive(serde::Serialize)]
3858pub struct FleetReportedBreakdownTaxSpecs {
3859    /// Amount of state or provincial Sales Tax included in the transaction amount.
3860    /// Null if not reported by merchant or not subject to tax.
3861    #[serde(skip_serializing_if = "Option::is_none")]
3862    pub local_amount_decimal: Option<String>,
3863    /// Amount of national Sales Tax or VAT included in the transaction amount.
3864    /// Null if not reported by merchant or not subject to tax.
3865    #[serde(skip_serializing_if = "Option::is_none")]
3866    pub national_amount_decimal: Option<String>,
3867}
3868#[cfg(feature = "redact-generated-debug")]
3869impl std::fmt::Debug for FleetReportedBreakdownTaxSpecs {
3870    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3871        f.debug_struct("FleetReportedBreakdownTaxSpecs").finish_non_exhaustive()
3872    }
3873}
3874impl FleetReportedBreakdownTaxSpecs {
3875    pub fn new() -> Self {
3876        Self { local_amount_decimal: None, national_amount_decimal: None }
3877    }
3878}
3879impl Default for FleetReportedBreakdownTaxSpecs {
3880    fn default() -> Self {
3881        Self::new()
3882    }
3883}
3884#[derive(Clone, Eq, PartialEq)]
3885#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3886#[derive(serde::Serialize)]
3887pub struct FlightSegmentSpecs {
3888    /// The three-letter IATA airport code of the flight's destination.
3889    #[serde(skip_serializing_if = "Option::is_none")]
3890    pub arrival_airport_code: Option<String>,
3891    /// The airline carrier code.
3892    #[serde(skip_serializing_if = "Option::is_none")]
3893    pub carrier: Option<String>,
3894    /// The three-letter IATA airport code that the flight departed from.
3895    #[serde(skip_serializing_if = "Option::is_none")]
3896    pub departure_airport_code: Option<String>,
3897    /// The flight number.
3898    #[serde(skip_serializing_if = "Option::is_none")]
3899    pub flight_number: Option<String>,
3900    /// The flight's service class.
3901    #[serde(skip_serializing_if = "Option::is_none")]
3902    pub service_class: Option<String>,
3903    /// Whether a stopover is allowed on this flight.
3904    #[serde(skip_serializing_if = "Option::is_none")]
3905    pub stopover_allowed: Option<bool>,
3906}
3907#[cfg(feature = "redact-generated-debug")]
3908impl std::fmt::Debug for FlightSegmentSpecs {
3909    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3910        f.debug_struct("FlightSegmentSpecs").finish_non_exhaustive()
3911    }
3912}
3913impl FlightSegmentSpecs {
3914    pub fn new() -> Self {
3915        Self {
3916            arrival_airport_code: None,
3917            carrier: None,
3918            departure_airport_code: None,
3919            flight_number: None,
3920            service_class: None,
3921            stopover_allowed: None,
3922        }
3923    }
3924}
3925impl Default for FlightSegmentSpecs {
3926    fn default() -> Self {
3927        Self::new()
3928    }
3929}
3930#[derive(Copy, Clone, Eq, PartialEq)]
3931#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3932#[derive(serde::Serialize)]
3933pub struct LodgingSpecs {
3934    /// The time of checking into the lodging.
3935    #[serde(skip_serializing_if = "Option::is_none")]
3936    pub check_in_at: Option<stripe_types::Timestamp>,
3937    /// The number of nights stayed at the lodging.
3938    #[serde(skip_serializing_if = "Option::is_none")]
3939    pub nights: Option<i64>,
3940}
3941#[cfg(feature = "redact-generated-debug")]
3942impl std::fmt::Debug for LodgingSpecs {
3943    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3944        f.debug_struct("LodgingSpecs").finish_non_exhaustive()
3945    }
3946}
3947impl LodgingSpecs {
3948    pub fn new() -> Self {
3949        Self { check_in_at: None, nights: None }
3950    }
3951}
3952impl Default for LodgingSpecs {
3953    fn default() -> Self {
3954        Self::new()
3955    }
3956}
3957#[derive(Clone, Eq, PartialEq)]
3958#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3959#[derive(serde::Serialize)]
3960pub struct ReceiptSpecs {
3961    #[serde(skip_serializing_if = "Option::is_none")]
3962    pub description: Option<String>,
3963    #[serde(skip_serializing_if = "Option::is_none")]
3964    pub quantity: Option<String>,
3965    #[serde(skip_serializing_if = "Option::is_none")]
3966    pub total: Option<i64>,
3967    #[serde(skip_serializing_if = "Option::is_none")]
3968    pub unit_cost: Option<i64>,
3969}
3970#[cfg(feature = "redact-generated-debug")]
3971impl std::fmt::Debug for ReceiptSpecs {
3972    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3973        f.debug_struct("ReceiptSpecs").finish_non_exhaustive()
3974    }
3975}
3976impl ReceiptSpecs {
3977    pub fn new() -> Self {
3978        Self { description: None, quantity: None, total: None, unit_cost: None }
3979    }
3980}
3981impl Default for ReceiptSpecs {
3982    fn default() -> Self {
3983        Self::new()
3984    }
3985}
3986#[derive(Clone, Eq, PartialEq)]
3987#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3988#[derive(serde::Serialize)]
3989pub struct FleetReportedBreakdownSpecs {
3990    /// Breakdown of fuel portion of the purchase.
3991    #[serde(skip_serializing_if = "Option::is_none")]
3992    pub fuel: Option<FleetReportedBreakdownFuelSpecs>,
3993    /// Breakdown of non-fuel portion of the purchase.
3994    #[serde(skip_serializing_if = "Option::is_none")]
3995    pub non_fuel: Option<FleetReportedBreakdownNonFuelSpecs>,
3996    /// Information about tax included in this transaction.
3997    #[serde(skip_serializing_if = "Option::is_none")]
3998    pub tax: Option<FleetReportedBreakdownTaxSpecs>,
3999}
4000#[cfg(feature = "redact-generated-debug")]
4001impl std::fmt::Debug for FleetReportedBreakdownSpecs {
4002    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4003        f.debug_struct("FleetReportedBreakdownSpecs").finish_non_exhaustive()
4004    }
4005}
4006impl FleetReportedBreakdownSpecs {
4007    pub fn new() -> Self {
4008        Self { fuel: None, non_fuel: None, tax: None }
4009    }
4010}
4011impl Default for FleetReportedBreakdownSpecs {
4012    fn default() -> Self {
4013        Self::new()
4014    }
4015}
4016#[derive(Clone, Eq, PartialEq)]
4017#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
4018#[derive(serde::Serialize)]
4019pub struct FlightSpecs {
4020    /// The time that the flight departed.
4021    #[serde(skip_serializing_if = "Option::is_none")]
4022    pub departure_at: Option<stripe_types::Timestamp>,
4023    /// The name of the passenger.
4024    #[serde(skip_serializing_if = "Option::is_none")]
4025    pub passenger_name: Option<String>,
4026    /// Whether the ticket is refundable.
4027    #[serde(skip_serializing_if = "Option::is_none")]
4028    pub refundable: Option<bool>,
4029    /// The legs of the trip.
4030    #[serde(skip_serializing_if = "Option::is_none")]
4031    pub segments: Option<Vec<FlightSegmentSpecs>>,
4032    /// The travel agency that issued the ticket.
4033    #[serde(skip_serializing_if = "Option::is_none")]
4034    pub travel_agency: Option<String>,
4035}
4036#[cfg(feature = "redact-generated-debug")]
4037impl std::fmt::Debug for FlightSpecs {
4038    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4039        f.debug_struct("FlightSpecs").finish_non_exhaustive()
4040    }
4041}
4042impl FlightSpecs {
4043    pub fn new() -> Self {
4044        Self {
4045            departure_at: None,
4046            passenger_name: None,
4047            refundable: None,
4048            segments: None,
4049            travel_agency: None,
4050        }
4051    }
4052}
4053impl Default for FlightSpecs {
4054    fn default() -> Self {
4055        Self::new()
4056    }
4057}