---
title: "Purchase Subscription with Existing Card"
method: POST
path: "/subscription/{merchantId}/subscribers/token"
tags: ["subscription"]
---

# Purchase Subscription with Existing Card

`POST /subscription/{merchantId}/subscribers/token`

Purchase a subscription with an existing credit card

## Path parameters

- `merchantId` string, required

## Headers

- `x-coinflow-auth-session-key` string, required
- `x-device-id` string

## Request body

- SubscriptionTokenSetup
  - `customerInfo` union
    - SplitNameCustomerInfo
      - `verificationId` string
      - `displayName` string
      - `address` string
      - `city` string
      - `state` string
      - `zip` string
      - `country` string
      - `ip` string
      - `lat` string
      - `lng` string
      - `dob` string — Date of birth in YYYY-MM-DD format
      - `email` string
      - `firstName` string, required
      - `lastName` string, required
    - NameCustomerInfo
      - `verificationId` string
      - `displayName` string
      - `address` string
      - `city` string
      - `state` string
      - `zip` string
      - `country` string
      - `ip` string
      - `lat` string
      - `lng` string
      - `dob` string — Date of birth in YYYY-MM-DD format
      - `email` string
      - `name` string
  - `webhookInfo` AnyObject
    - `example` string
  - `chargebackProtectionData` CartItemClassOmitted[] — Cart item details required for Coinflow Chargeback Protection. Required if the merchant uses chargeback protection.
    - union
      - PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClass — From T, pick a set of properties whose keys are in the union K
        - `productName` string, required — The name of the related product
        - `productType` 'inGameProduct' | 'gameOfSkill' | 'dataStorage' | 'computingResources' | 'sportsTicket' | 'eSportsTicket' | 'musicTicket' | 'conferenceTicket' | 'virtualSportsTicket' | 'virtualESportsTicket' | 'virtualMusicTicket' | 'virtualConferenceTicket' | 'alcohol' | 'DLC' | 'subscription' | 'fundACause' | 'realEstate' | 'computingContract' | 'digitalArt' | 'topUp' | 'ownershipContract' | 'inGameCurrency' | 'digitalCollectibles' | 'digitalCollectiblesMarketplace' | 'digitalGiftingMarketplace' | 'sweepstakes' | 'virtualSportsEvents' | 'contractInvoicing' | 'onlineCasino' | 'cryptoOnramp' | 'gaming' | 'travelDocuments' | 'musicStreaming' | 'digitalContent' | 'eBooks' | 'digitalSubscriptionContent', required
        - `listPrice` PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice — The item's list price
          - `currency` string
          - `valueInCurrency` number, double
        - `quantity` number, double, required — The number of units sold
        - `rawProductData` AnyObject
          - `example` string
        - `seller` SellerInfo
          - `id` string — Id of the seller
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `lastName` string — Last name Example: Lois
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `rawSellerData` RecordStringAny — Construct a type with a set of properties K of type T
        - `transactionHistory` TransactionHistoryItem[]
          - `txType` string, required
          - `chain` string, required
          - `paymentAmount` string, required
          - `paymentToken` string, required
          - `to` string, required
          - `from` string, required
          - `registryContract` string, required
          - `assetID` string, required
          - `txTime` string, required
          - `blockNumber` number, double, required
          - `txHash` string, required
      - PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPrice — From T, pick a set of properties whose keys are in the union K
        - `brand` string — The name of the brand
        - `sellingPrice` PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice, required
          - `currency` string, required
          - `valueInCurrency` number, double, required
        - `itemClass` 'giftCard', required
        - `productType` 'giftCard', required
        - `quantity` number, double, required — The number of units sold
        - `rawProductData` RecordStringAny — Construct a type with a set of properties K of type T
        - `seller` SellerInfo
          - `id` string — Id of the seller
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `lastName` string — Last name Example: Lois
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `rawSellerData` RecordStringAny — Construct a type with a set of properties K of type T
        - `id` string, required — The cart items’s unique ID
        - `itemFulfillment` 'digital' | 'physical', required — How the product was fulfilled.
        - `sku` string — The stock-keeping unit (SKU) number
        - `categories` string[] — The category in the site/app in which the item was classified (e.g., fashion)
        - `isGift` boolean
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `expectedDeliveryDelay` number, double — The expected delay in delivery, in hours
        - `isPresetAmount` boolean — Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc. or whether it was a different amount, e.g. 27
      - CryptoCartItem — Represents a crypto item in a shopping cart
        - `itemClass` 'crypto', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: crypto Example: crypto
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` AnyObject
          - `example` string
        - `units` string, required — The amount in the crypto currency which is specified in the `cryptoCurrency` property Example: 1.04112 Pattern: ^[0-9]+(\.[0-9]+)?$
        - `cryptoCurrency` string, required — The crypto-currency symbol (uppercase) Example: BTC Pattern: ^[A-Z0-9-]+$
        - `unitPrice` CryptoCartItemUnitPrice, required — The price per 1 unit
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
        - `expectedDeliveryDelay` number, double — The expected delay in delivery, in hours Min value: 0
        - `recipientInfo` RecipientInfo, required
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `seller` SellerInfo
          - `id` string — Id of the seller
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `lastName` string — Last name Example: Lois
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `rawSellerData` RecordStringAny — Construct a type with a set of properties K of type T
      - MoneyTopUpCartItem — Represents a money top-up item in a shopping cart
        - `itemClass` 'moneyTopUp', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: moneyTopUp Example: moneyTopUp
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` RecordStringAny — Construct a type with a set of properties K of type T
        - `sellingPrice` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `topUpAmount` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `quantity` number, double, required — Quantity Example: 2
        - `isPresetAmount` boolean, required — Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc. or whether it was a different amount, e.g. 27
      - TravelCartItem — Represents a travel booking item in a shopping cart
        - `itemClass` 'travel', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: travel Example: travel
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` AnyObject
          - `example` string
        - `sellingPrice` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `listPrice` CurrencyAmount — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `lodging` TravelLodging, required — The lodging details of the travel booking
          - `reservationId` string, required — Hotel reservation id Example: X36Q9C
          - `nights` number, double, required — The number of nights booked in the reservation Min value: 1 Example: 2
          - `checkInDate` string, required — The check-in date Example: 2022-05-02
          - `checkInHour` string, required — The hour of day in which the check-in is done Example: 18 Pattern: ^([01][0-9]|2[0-3])$
          - `hotel` TravelLodgingHotel, required — The booked hotel details
            - `name` string, required — The name of the hotel Example: The Plaza Hotel
            - `country` string, required — The two-letter code of the country in which the hotel is located Example: US Pattern: ^[A-Z]{2}$
            - `city` string, required — The city in which the hotel is located Example: New York
          - `wereExtrasPurchased` boolean, required — Indicates whether extras were purchased in the reservation
          - `isRefundable` boolean, required — Indicates whether the reservation is refundable
          - `highestRoomType` string, required — The most luxurious room booked in the reservation Example: Presidential Suite
          - `numberOfRooms` number, double, required — The number of rooms booked in the reservation Min value: 1 Example: 2
          - `numberOfGuests` number, double, required — The number of guests in the reservation Min value: 1 Example: 4
          - `numberOfKids` number, double, required — The number of kids, out of the number of guests in the reservation Min value: 0 Example: 2
        - `pnr` string, required — The flight ticket's PNR code Example: X36Q9C
        - `trip` TravelTrip, required — The trip details of the travel booking
          - `numberOfFlights` number, double, required — The number of flights in the trip Min value: 1 Example: 2
          - `numberOfCheckedBags` number, double, required — The number of checked bags Min value: 0 Example: 1
          - `firstWayDestination` string, required — The first-way destination's three-letter IATA airport code Example: JFK Pattern: ^[A-Z]{3}$
          - `isRoundTrip` boolean, required — `true` if the trip is a round-trip Example: true
          - `highestClass` 'economy' | 'luxurious', required — `luxurious` if the highest bought travel class in the trip is a luxury class (business/first), `economy` otherwise Example: luxurious
          - `isFlexibleTicket` boolean, required — True if the trip ticket is a flexible ticket Example: true
          - `wereExtrasPurchased` boolean, required — True if extras were included in the trip purchase Example: true
        - `firstFlight` TravelFirstFlight, required — The first flight details of the trip
          - `numberOfTravelers` number, double, required — The number of travelers in the first flight Min value: 1 Example: 2
          - `departureTime` number, double, required — The timestamp of the departure, in *milliseconds* since the unix epoch Example: 1551398400000
          - `departureAirport` string, required — The first-flight departure airport's three-letter IATA code Example: JFK Pattern: ^[A-Z]{3}$
          - `duration` number, double, required — The first-flight duration, in hours Min value: 0 Example: 3.5
          - `flightNumber` string, required — The alphanumeric flight code Example: BA2491A Pattern: ^[A-Z0-9]+$
      - FlightTicketCartItem — Represents a flight ticket item in a shopping cart
        - `itemClass` 'flightTicket', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: flightTicket Example: flightTicket
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` AnyObject
          - `example` string
        - `sellingPrice` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `listPrice` CurrencyAmount — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `pnr` string, required — The flight ticket's PNR code Example: X36Q9C
        - `trip` TravelTrip, required — The trip details of the travel booking
          - `numberOfFlights` number, double, required — The number of flights in the trip Min value: 1 Example: 2
          - `numberOfCheckedBags` number, double, required — The number of checked bags Min value: 0 Example: 1
          - `firstWayDestination` string, required — The first-way destination's three-letter IATA airport code Example: JFK Pattern: ^[A-Z]{3}$
          - `isRoundTrip` boolean, required — `true` if the trip is a round-trip Example: true
          - `highestClass` 'economy' | 'luxurious', required — `luxurious` if the highest bought travel class in the trip is a luxury class (business/first), `economy` otherwise Example: luxurious
          - `isFlexibleTicket` boolean, required — True if the trip ticket is a flexible ticket Example: true
          - `wereExtrasPurchased` boolean, required — True if extras were included in the trip purchase Example: true
        - `firstFlight` TravelFirstFlight, required — The first flight details of the trip
          - `numberOfTravelers` number, double, required — The number of travelers in the first flight Min value: 1 Example: 2
          - `departureTime` number, double, required — The timestamp of the departure, in *milliseconds* since the unix epoch Example: 1551398400000
          - `departureAirport` string, required — The first-flight departure airport's three-letter IATA code Example: JFK Pattern: ^[A-Z]{3}$
          - `duration` number, double, required — The first-flight duration, in hours Min value: 0 Example: 3.5
          - `flightNumber` string, required — The alphanumeric flight code Example: BA2491A Pattern: ^[A-Z0-9]+$
      - FlightUpgradeCartItem — Represents a flight upgrade item in a shopping cart
        - `itemClass` 'flightUpgrade', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: flightUpgrade Example: flightUpgrade
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` AnyObject
          - `example` string
        - `sellingPrice` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `listPrice` CurrencyAmount — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
        - `pnr` string — The flight ticket's PNR code Example: X36Q9C
        - `upgradeType` 'changes' | 'fareIncrease' | 'baggage' | 'seats' | 'insurance' | 'other', required — The type of upgrade Example: changes
        - `description` string — The upgrade description, required when the upgrade type is `other`
      - LodgingCartItem — Represents a lodging reservation item in a shopping cart. The reservation fields are flattened at the top level of the item.
        - `reservationId` string, required — Hotel reservation id Example: X36Q9C
        - `nights` number, double, required — The number of nights booked in the reservation Min value: 1 Example: 2
        - `checkInDate` string, required — The check-in date Example: 2022-05-02
        - `checkInHour` string, required — The hour of day in which the check-in is done Example: 18 Pattern: ^([01][0-9]|2[0-3])$
        - `hotel` TravelLodgingHotel, required — The booked hotel details
          - `name` string, required — The name of the hotel Example: The Plaza Hotel
          - `country` string, required — The two-letter code of the country in which the hotel is located Example: US Pattern: ^[A-Z]{2}$
          - `city` string, required — The city in which the hotel is located Example: New York
        - `wereExtrasPurchased` boolean, required — Indicates whether extras were purchased in the reservation
        - `isRefundable` boolean, required — Indicates whether the reservation is refundable
        - `highestRoomType` string, required — The most luxurious room booked in the reservation Example: Presidential Suite
        - `numberOfRooms` number, double, required — The number of rooms booked in the reservation Min value: 1 Example: 2
        - `numberOfGuests` number, double, required — The number of guests in the reservation Min value: 1 Example: 4
        - `numberOfKids` number, double, required — The number of kids, out of the number of guests in the reservation Min value: 0 Example: 2
        - `itemClass` 'lodging', required — Denotes the cart item class. The item schema is chosen based on this value. Allowed value: lodging Example: lodging
        - `id` string — The cart items's unique ID Example: 5de33332-546a-4171-8988-2a43d2bfe9c6
        - `rawProductData` AnyObject
          - `example` string
        - `sellingPrice` CurrencyAmount, required — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `listPrice` CurrencyAmount — Common currency amount structure
          - `valueInCurrency` number, double, required — The amount in the currency, which is specified in the `currency` property Example: 90
          - `currency` string, required — Currency specified as a three letter code according to ISO 4217 Example: USD
        - `recipientInfo` RecipientInfo
          - `accountId` string — The ID of the account that will receive the purchased goods
          - `dob` string — Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$
          - `email` string, nullable — Email Example: lois.lane@dailyplanet.com
          - `firstName` string — First name Example: Lois
          - `gender` string — Gender Example: female
          - `lastName` string — Last name Example: Lois
          - `message` string — The message that the recipient will receive
          - `phoneInfo` PhoneInfo — Phone information structure
            - `carrier` string — The mobile carrier Example: T-Mobile
            - `countryCode` string, required — The country code (leading `+` is optional) Example: 42 Pattern: ^\+?[0-9]+$
            - `phone` string, required — The phone number without the country code or hyphens Example: 2025550169 Pattern: ^[0-9]+$
          - `shippingAddress` CartItemAddress — Address structure
            - `country` string — Country code specified as a two letter code according to ISO 3166 Alpha-2 Between 2 and 2 characters Example: US Pattern: ^[A-Z]{2}$
            - `state` string — The state or province Example: PA
            - `city` string — The city or locality Example: Pittsburgh
            - `street` string — The street name Example: Baker St
            - `postalCode` string — The address postal code
          - `wallet` RecipientInfoWallet — The crypto wallet that will receive the funds
            - `custodialType` 'custodial' | 'nonCustodial' | 'unknown', required — The type of the wallet Allowed values: custodial, nonCustodial, unknown Example: custodial
            - `blockchain` string, required — The blockchain on which the transaction was made Example: BTC Pattern: ^[A-Z0-9-]+$
            - `address` string, required — The crypto wallet address that will receive the funds
  - `feePercentage` number, double — If this purchase is for a seller/submerchant where the marketplace takes a fee, this is the % fee which is taken from the subtotal amount.
  - `fixedFee` Cents
    - `cents` integer, required
  - `planCode` string, required — The code of the plan to use for the subscription
  - `authentication3DS` union — 3DS Card Authorization Data On initial payment submission - Device3DSInfo needed: 3DS device information - required if 3DS is enabled After card challenge complete: 3DS challenge transaction id - required after prompted for challenge
    - Device3DSInfo
      - `colorDepth` number, double, required
      - `screenHeight` number, double, required
      - `screenWidth` number, double, required
      - `timeZone` number, double, required
      - `versionInfo` VersionInfo[]
        - `url` string
        - `transactionId` string, required
        - `directoryServer` string, required
        - `version` string, required
    - External3DSInfo — External 3DS info, if provided must call the endpoint with API key or checkout JWT.
      - `transactionId` string, required
      - `cavv` string, required
      - `eci` string, required
      - `dsTransactionId` string, required
      - `acsTransactionId` string, required
      - `version` string, required
    - ConcludeChallenge
      - `transactionId` string, required
  - `threeDsChallengePreference` 'NoPreference' | 'Frictionless' | 'Challenge'
  - `accountFundingTransaction` AccountFundingTransaction — Used for Account Funding Transactions
    - `recipientAftInfo` RecipientAftInfo
      - `firstName` string, required
      - `lastName` string, required
      - `address1` string, required
      - `city` string, required
      - `postalCode` string, required
      - `state` string
      - `countryCode` string, required
      - `dateOfBirth` string — Recipients Date Of Birth in YYYMMDD format.
      - `phoneNumber` string
      - `documentReference` string
  - `token` string, required — Token for the card to be used for the subscription
  - `address` SubscriptionTokenSetupAddress — The address field is not needed here unless explicitly given instructions to do so.
    - `country` string, required
    - `state` string
    - `zip` string
    - `city` string, required
    - `address1` string, required

## Response `200`

Ok

- string

## Other responses

- `422` — Address Required

---

[API](https://skmtc.net/coinflow/apis/api-reference.md) · [All operations](https://skmtc.net/coinflow/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coinflow/api-reference/versions/7eea51c8775d/schema)
