> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List All Payment Methods

> Retrieves Payment Methods filtered by Account.




## OpenAPI

````yaml /portal/SubscribeAPI.yaml get /payment_methods
openapi: 3.0.0
info:
  title: Subscribe API
  description: >
    # Overview

    The REST API for Subscribe provides predictable, resource-oriented URLs, and
    uses HTTP response codes to indicate API errors. We use built-in HTTP
    features, like HTTP authentication and HTTP verbs, which are understood by
    off-the-shelf HTTP clients 
      
    # Subscribe OpenAPI YAML Reference

    See the [Subscribe
    OpenAPIs](https://docs.vindicia.com/bundle/SubscribeAPI/page/index.html)
    YAML file located in the [Developer
    Hub](https://docs.vindicia.com/category/developerhub) section of the
    Knowledge Center.

    # Environment  

    Subscribe provides two distinct environments for testing and production:  

    ## The Staging Environment  

    The Staging environment allows you to test your application against the code
    currently running in **Production:**
    **https://api.staging.us-west.vindicia.com**  

    ## The Production Environment  

    The **Production** environment is for real-world use for actual billing and
    subscription activity.  

    **https://api.vindicia.com**  


    *Note: The examples in this API reference use the Production URL. Replace
    with the Staging URL, as needed.*


    # Interacting with the API

    ## Making Requests  

    As per RESTful design patterns, the Subscribe API implements the following
    HTTP verbs:  

    | Verb         |
    Description                                                               |

    | ------------ |
    --------------------------------------------------------------------------| 

    | GET          | Retrieve resources (as a list or single record
    fetch)                     |

    | POST         | Create new resources or update existing ones (overloading
    during create/update is permitted where
    specified)                              |

    | DELETE       | Remove an ownership or hierarchical association between
    certain resources |  

    Requests and Responses are made in JSON. When making requests, set the
    Content-Type header to **application/json**.  

    Vindicia supports gzip compression. To receive the response body compressed
    in gzip format, send **content-encoding:gzip** in your request header.  

    ## Example

    ```

    POST /transactions

    Content-Type: application/json

    Content-Length: 94


    {
        "object" : "Transaction",
        "id" : "tx_1234",
        "created" : "2020-01-01T00:55:47Z"
    }

    ```


    ## Status Codes  

    Subscribe uses conventional HTTP response codes to indicate the success or
    failure of an API request. In general, codes in the **2xx** range indicate
    success, codes in the 4xx range indicate an error that failed given the
    information provided (e.g., a required parameter was omitted, a payment
    failed, etc.), and codes in the **5xx** range indicate an error with
    Vindicia’s servers (these are rare). When an error occurs additional
    information will be returned in the [error
    response](https://docs.vindicia.com/bundle/b_Subscribe_REST_API_Guide/page/topics/Errors.html).

    | Code    |Status                 |
    Description                                                               |

    |---------|-----------------------|---------------------------------------------------------------------------|

    | 200     | Ok                    | Everything worked as
    expected.                                            |

    | 400     | Bad Request           | The request was unacceptable, often due
    to missing a required parameter.  |

    | 401     | Authorization         | Couldn’t authenticate your
    request                                        |  

    | 402     | Authorization Failure | Authorization
    failed                                                      |

    | 403     | Forbidden             |  Authentication failed - check your
    username and password                  |

    | 404     | Not Found             |  The requested resource doesn’t
    exist                                      |  

    | 429     | Too Many Requests     |  Too many requests hit the API too
    quickly.                                |

    | 500     | Internal Server Error
    |                                                                           
    |

    | 503     | Forbidden             |  Authentication failed - check your
    username and password                  |


    ## Example Basic HTTP Response

    ```

    HTTP/1.1 200 OK

    Content-Type: application/json

    Content-Length: 150

    Request-Id: d837becba3325b62adddb2b0f1d7ab48824ff248

    Connection: close


    {
        "object" : "Transaction",
        "id" : "tx_1234",
        "vid" : "40f24148bdc282640b46ad281eec31f7dfd9202e",
        "created" : "2020-01-01T00:55:47Z"
    }

    ```

    ## Fields

    All resources are represented by a unique, Vindicia identifier - a vid. Many
    resources also provide an id field for you to record your unique identifier
    which can contain any alphanumeric character but must not contain a /.  


    When referring to a resource either the vid or the id may be used.


    `GET https://api.vindicia.com/transactions/:id`


    `GET https://api.vindicia.com/transactions/:vid`


    Resources also have an object field which represents the resource type.


    #### Example Call

    ```

    {
        "object" : "Transaction",
        "id" : "tx_1234",
        "vid" : "40f24148bdc282640b46ad281eec31f7dfd9202e",
        "created" : "2020-01-01T00:55:47Z",
        "url" : "/transactions/tx_1234"
    }

    ```


    #### Timestamps

    All timestamps are represented in ISO8601 format. Timestamps may be
    submitted in any timezone but will be returned in UTC Time standard.


    #### Strings

    All strings are 1,024 characters unless otherwise noted. Submitting values
    in excess of this limit will return an error.


    #### Enumerable Values

    Some fields like **object** have a constant set of values. Submitting any
    value other than those documented will result in an error being returned
    with a status code of **400**.    


    #### Arrays and Lists

    The API returns multiple resources as list objects containing JSON array.
    Lists provide the ability to sparsely represent the resources they contain.
    Additional data can be accessed through

    [pagination](https://docs.vindicia.com/bundle/b_Subscribe_REST_API_Guide/page/topics/Pagination.html).


    #### Example Request (Excerpt)

    ```

    {

    "object" : "Subscription",

    "id" : "sub_1234",


    "items": [
       {
        "object": "SubscriptionItem",
        "id": "sub_1234.1",
        "product": {
            "object": "Product",
            "id": "prod_1234"
        }
       },
       {
        "object": "SubscriptionItem",
        "id": "sub_1234.2",
        "product": {
            "object": "Product",
            "id": "prod_1235"
        }
       }
      ]
      ...
    }

    ```


    #### Example Response (Excerpt)

    ```

    {

    "items": {
        "object": "List",
        "data": [
           {
            "object": "SubscriptionItem",
            "id": "sub_1234.1",
            "index": 0,
            "product": {...},
            "quantity": 1,
            "created": "2020-05-27T05:52:02-07:00",
            "starts": "2020-05-27T00:00:00-07:00"
           },
           {
            "object": "SubscriptionItem",
            "id": "sub_1234.2",
            "index": 0,
            "product": {...},
            "quantity": 1,
            "created": "2020-05-27T05:52:02-07:00",
            "starts": "2020-05-27T00:00:00-07:00"
           }
        ],
    "total_count": 2

    }

    ```


    ## Creating and Updating Objects


    For expedience and convenience most create calls for a certain object allow
    for the creation of sub-objects when doing the initial creation. However,
    updating is purposefully always an atomic operation relating to only one
    object to prevent accidental data loss.


    For example: When creating an Account you can concurrently create a new
    Payment Method. When updating, you will need to separately update a Payment
    Method by using the Payment Methods endpoints.


    # Authentication


    Authentication to the API is performed via HTTP Basic Auth using your
    environment specific API user and key as the username and password.


    *Note: All API requests must be made over HTTPS. Calls made over plain HTTP
    will fail. API requests without authentication will also fail.*


    Example cURL Api Key Usage


    ```curl "https://api.vindicia.com/subscriptions" -u
    acaff38d462f9430d5cbcbaf:a575771fc679b9de```


    Example JavaScript Api Key Usage


    ```constsubscribe_api_key="acaff38d462f9430d5cbcbaf:a575771fc679b9de";```


    # Pagination


    All **GET** endpoints which return an object list support cursor based
    pagination with pagination information inside a pagination object. This
    means that to get all objects, you need to paginate through the results by
    always using the id of the last resource in the list as a starting_after
    parameter for the next call.


    To make it easier, the API will assign the next call into next attribute
    together with all the currently used pagination parameters. You know that
    you have paginated all the results when the return is empty (**next** value
    will be undefined, as well).


    Using cursor-based pagination protects against the situation when the
    resulting object list changes during pagination (new resource gets added or
    removed).


    The default limit is set to 20 but values up to 100 are permitted.


    <table border="1">
      <tr>
        <td>&nbsp;<b>Parameter</b>&nbsp;</td>
        <td>&nbsp;<b> test </b>&nbsp;</td>
        <td>&nbsp;<b>Description</b>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;limit&nbsp;</td>
        <td>&nbsp;optional&nbsp;</td>
        <td>&nbsp;A limit on the number of objects to be returned, between 1 and 100.&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;starting_after&nbsp;</td>
        <td>&nbsp;optional&nbsp;</td>
        <td>&nbsp;A cursor for use in pagination. starting_after is an object id that <br> defines your place in the list. For instance, if you make a list request and receive 100 objects, <br>ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.&nbsp; </td>
      </tr>
      <tr>
        <td>&nbsp;ending_before&nbsp;</td>
        <td>&nbsp;optional&nbsp;</td>
        <td>&nbsp;A cursor for use in pagination. ending_before is an object id that defines your place in the list. 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.&nbsp;</td>
      </tr>   
    </table>


    Example Call

    ```

    GET /foos

    Content-Type: application/json

    Content-Length: 32509

    ```


    Example Collection Pagination

    ```

    {
      "object": "List",
      "data": [...],
      "total_count": 31,
      "url": "/foos",
      "next": "/foos?starting_after=Montly+Stream",
      "previous": "/foos?ending_before=Daily+Stream"
    } 

    ```


    # Errors

    All error responses will return an error object.


    ## Attributes


    <table border="1">
      <tr>
        <td>&nbsp;<b>Name</b>&nbsp;</td>
        <td>&nbsp;<b>Type</b>&nbsp;</td>
        <td>&nbsp;<b>Description</b>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;object&nbsp;</td>
        <td>&nbsp;string&nbsp;</td>
        <td>&nbsp;Value is “Error”.&nbsp; </td>
      </tr>
      <tr>
        <td>&nbsp;message&nbsp;</td>
        <td>&nbsp;string&nbsp;</td>
        <td>&nbsp;A human-readable message providing more detailed information about the error.&nbsp;</td>
      </tr>       
    </table>


    ## Example Error JSON

    ```

    {
      "object" : "Error",
      "message" : "Not implemented yet."
    }    

    ```


    # Versioning

    The API version is based on the date of the last breaking change.


    The current version is 20190501.


    To set the API version on a specific request send an **X-API-Version**
    header on your first call. The system will default according to your first
    call.


    Most additions to the API will not require a new version of the API.


    If no version is specified in the X-API Version header, the default API
    version will be used.


    # Request Ids

    Each API request has an associated request identifier. You can find this
    value in the response headers, under Request-Id. If you need to contact us
    about a specific request, providing the request identifier will ensure the
    fastest possible resolution.


    # Endpoints  

    The Subscribe REST API exposes key resources as endpoints, which can be
    manipulated using standard methods. Critical sub-resources which only work
    in the context of their parent are defined here under their endpoint; other
    sub-resources, shared between other objects but not directly manipulated are
    documented in the Resources section.


    *Note: HTTP request examples in this reference use the Production path. For
    the Staging environment, substitute **staging.us-west.vindicia** in place of
    vindicia.*  


    Subscribe provides a RESTful API to integrate recurring and one-time
    payments as well as other billing concepts into your business or
    application.


    The API provides predictable, resource-oriented URLs, and uses HTTP response

    codes to indicate API errors. We use built-in HTTP features, like HTTP 

    authentication and HTTP verbs, which are understood by off-the-shelf HTTP 

    clients. JSON is returned by all API responses, including errors, although

    our API libraries convert responses to appropriate language-specific
    object  
  contact:
    email: support@vindicia.com
  license:
    name: Vindicia
    url: https://www.vindicia.com/
  version: '2024.09'
servers:
  - url: https://virtserver.swaggerhub.com/Amdocs_Media/Subscribe_API_WIP/2024.09
    description: Subscribe OpenAPI specification
  - url: https://api.staging.us-west.vindicia.com
    description: Subscribe Staging for Testing
  - url: https://api.vindicia.com
    description: Subscribe Production
security:
  - basicAuth: []
tags:
  - name: Accounts
    description: >-
      The Account represents a merchant’s customer. As such it can contain as
      much or as little information as you collect about the customers (people
      or organizations) to which you offer billing and subscriptions.
      Subscriptions and Transactions must belong to an Account - as such,
      Accounts will be required in Subscribe for billing. Read More in our User
      Guide


      An Account can have any number of children accounts and may have up to one
      parent account. Read more in our User Guide.


      An Account owns the “on file” payment methods to be used by it in billing
  - name: Activities
    description: >-
      The Activity object enables you to record activities (events) on your site
      that are not direct purchase transactions, such as when customers access
      for-pay content like song downloads. That information can serve as
      evidence for chargeback disputes should they occur. You make calls
      available for the Activity object to submit the activity data once per
      event. Alternatively, queue and submit the data periodically in a batch
      process. Usually, you collect events of interest only. For example, you
      need not record every page view by a customer, only those page views that
      contain for-pay content that the customer accessed or downloaded.
  - name: Address
    description: ''
  - name: Billing Plans
    description: >-
      A Billing Plan represents a pre-defined billing and pricing schedule.
      Every subscription is billed according to its assigned Billing Plan. A
      Billing Plan can be a complex object made up of one or more Billing
      Periods, each of which have configurable rules for how many cycles they
      repeat, as well as other billing, entitlement, and communication rules.
      The API allows you to create or update Billing Plans. You can retrieve
      individual plans as well as a list of all Billing Plans.
  - name: Campaigns
    description: >-
      Subscribe Campaigns are discounts, such as special offers or limited-time
      pricing, you can apply to your Products or Billing Plans. Discounts can be
      currency-based or percentage-based, and applied to one-time purchases or
      applied to a recurring subscription for a specific period.
  - name: Campaign Codes
    description: >-
      Subscribe Campaigns are discounts, such as special offers or limited-time
      pricing, you can apply to your Products or Billing Plans and are handled
      by the Campaigns object. Campaign Codes are the codes provided to
      customers that are used to redeem the campaign.
  - name: Cancel Fee Policy
    description: Cancel Fee Policy
  - name: Cancel Reasons
    description: Merchant specified reason for cancelling a subscription.
  - name: Chargebacks
    description: >-
      A chargeback is initiated by a customer to reverse a specific transaction
      charge on their billing statement.
  - name: Charges
    description: >-
      This model is a REST-level representation of TransactionBillingItem with
      type of NonRecurringCharge. Note that Charge represents only positive
      TBIs.  An as yet unbuilt model Adjustment will represent negative TBIs.
  - name: Currency Amount
    description: >-
      The CurrencyAmount object represents the currency credit detail associated
      with a particular grant of currency credits.
  - name: Diagnostics
    description: ''
  - name: Discount Tickets
    description: >-
      Discount Tickets is a list of campaign codes to be applied to a
      Subscription/Subscription Billing Plan/Subscription Item/Charge. They
      provide the discounts as defined in the Campaigns. They allow you to offer
      multiple campaign discounts simultaneously as an array to Subscriptions or
      Transactions and to manage the application of these discounts.
  - name: Entitlements
    description: >-
      The entitlement object represents the services to which a customer is
      entitled. Entitlement can reside at the Account (granted directly to the
      Customer) or the Subscription level (granted due to purchase or presence
      of an active subscription).
  - name: Events
    description: >-
      The Event object represents a specific measured/reported usage record. You
      can create, retrieve, list, and edit (update) individual usage event
      records using the Event object.
  - name: Event Summary
    description: >-
      This model is a REST-level representation of Event summary of next billing
      item.
  - name: GDPR Erase
    description: >-
      Removes personal information from an account (merchant_customer) for GDPR
      compliance. You must provide merchant_customer_id, It should be valid and
      should return only a single customer account for the merchant.
  - name: Gift Cards
    description: >-
      Gift cards are prepaid cards used to purchase products. The Gift card
      holds an amount of money and currency that can be redeemed to Subscribe.
      The gift card object holds the information of the card itself but does not
      allow to redeem it, instead use Gift Card Redemptions.
  - name: Gift Card Redemptions
    description: >-
      Gift cards are prepaid cards used to purchase products. The Gift card
      holds an amount of money and currency that can be redeemed to Subscribe.
      The redeemed amount of the gift card is credited to the Account as a
      credit balance and can then serve as payment balance for existing or new
      subscriptions.The gift card therefore does not serve as a payment method
      rather a crediting mechanism of the customer's account.
  - name: Invoices
    description: >-
      An Invoice presents the details for a particular billing - including the
      charges, taxes, credits, and payments related for a particular one-time
      purchase or subscription billing period. The API allows you to retrieve
      individual Invoices as well as a list of all of your Invoices using
      defined filters and/or pagination.
  - name: Payments
    description: >-
      The Payment object is a record of a payment made against an outstanding
      balance. This object can be used to accept Merchant Accepted Payment
      methods such as cash or check or to record payments made with other active
      payment methods such as Paypal or credit cards. For a recorded payment, a
      corresponding transaction is generated and processed through the
      auth/capture cycle appropriate to the payment method.
  - name: Payment Methods
    description: >-
      The PaymentMethod object represents an on-file payment instrument, for
      example, credit card, PayPal, ECP, direct debit. The API allows you to
      create, fetch, and update Payment Methods. You can retrieve individual
      PaymentMethods, as well as a list of all.
  - name: Products
    description: >-
      The Product object represents a unique merchant product, with its own
      pricing, description and entitlement assignments. The API allows you to
      create, fetch, and update products. You can retrieve individual Product
      objects, as well as a list of all
  - name: Rate Plans
    description: >-
      Rate Plans represents a pre-defined rating schedule--tier-based pricing
      for rated products (usage). Both pre-paid (License-based) and post-paid
      (metered, that is, usage-based) services use pre-defined tiers to rate
      recorded events. Rate Plans support flat and per-unit pricing, volume
      discounts, standard consumption-based prices, included units with overage,
      and maximum/minimum charge limits.
  - name: Refunds
    description: >-
      The Refund object provides a way to reverse a charge, refunding money to
      the customer. You can create, and retrieve individual Refunds; as well as
      list all existing Refunds. Refunds require a transaction – a refund can
      only be executed against an existing, successfully captured transaction.
      Refunds can be issued for any valid amount (in the currency of the
      original transaction) up to the as-yet un-refunded balance of the original
      transaction. You can issue any number of refunds on a given transaction
      (until it has been fully refunded).
  - name: Season Sets
    description: >-
      A SeasonSet object allows you to create groups of time intervals, which
      may be used with Billing Plans to define both Billing Cycles, and
      Entitlement grants. Note :- Season Sets are best described using the
      Subscribe user interface, rather than the API.
  - name: Reason Code
    description: Reason codes by type.
  - name: Subscription
    description: >-
      Subscriptions allow you to bill an Account over time and/or on a recurring
      basis. A subscription ties an Account to a particular billing plan and set
      of purchased products (subscription items) you’ve created. The API allows
      you to create, update and amend/modify your subscriptions. You can
      retrieve individual Subscriptions as well as a list of all your
      Subscriptions.
  - name: Transactions
    description: >-
      The Transaction object provides a way to charge a customer. You can create
      one-time transactions, retrieve individual transactions, fetch individual
      transactions, and list all Transactions for a given account or
      subscription. Posting with a new Transaction creates a new one-time
      Transaction object. If “to_be_captured” is false, the request will trigger
      an authorization attempt (based on the provided payment method’s
      authorization process). If successfully authorized, a subsequent post to
      the transaction’s actions/capture endpoint will capture the authorized
      transaction. If you post a new transaction with “to_be_captured” true, it
      will authorize and immediately capture the transaction if successful. To
      refund transactions, use the refunds endpoint.
  - name: Tokens
    description: >-
      The token object provides a way to offer virtual currencies or track the
      balance of a consumable service item.
paths:
  /payment_methods:
    get:
      tags:
        - Payment Methods
      summary: List All Payment Methods
      description: |
        Retrieves Payment Methods filtered by Account.
      operationId: searchAllAPaymentMethods
      parameters:
        - name: limit
          in: query
          description: A limit on the number of objects to be returned, between 1 and 100.
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
            default: 20
        - name: starting_after
          in: query
          description: >-
            A cursor for use in pagination. starting_after is an object **id**
            that defines your place in the list. 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.
          schema:
            type: string
        - name: ending_before
          in: query
          description: >-
            A cursor for use in pagination. ending_before is an object **id**
            that defines your place in the list. 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.
          schema:
            type: string
        - name: account
          in: query
          description: Specify a particular account by **id** or **vid**
          schema:
            $ref: '#/components/schemas/ID'
        - name: include_children
          in: query
          description: include child account Payment Methods in results
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: >-
            JSON A list array with a data property that contains an array of up
            to limit PaymentMethod, starting after the specified starting_after
            PaymentMethod (or ending before the specified ending_before
            PaymentMethod). Each entry in the array is a full PaymentMethod
            object. If no more PaymentMethods are available, the resulting array
            will be empty. This request should never throw an error.

            A list of PaymentMethod objects matching the query. Also:


            * “total_count”: Integer count of the number of PaymentMethod in the
            returned list.


            * “url”: The query string provided in the request


            * “next”: The route (partial URL) to the next PaymentMethod object
            (string to select the “next”); included vid should match that of the
            last object returned here


            * “previous”: The route (partial URL) to the previous PaymentMethod
            object (string to select the “previous”); included vid should match
            that of the first object returned here
          content:
            application/json:
              schema:
                type: array
                example: >-
                  { "object": "List", "data": [ { "object": "PaymentMethod",
                  "id": "CC_1672665754", "vid":
                  "616cf2d79f783cc7214b70f3533be4edfbfe7b89", "created":
                  "2023-01-02T13:22:35+00:00", "type": "CreditCard",
                  "credit_card": { "object": "CreditCard", "vid":
                  "55a1e7fe0b427d82a272db58e69c7ac3cf818981", "account":
                  "512345XXXXXX2346", "bin": "512345", "type": "MC",
                  "last_digits": "2346", "account_length": 16,
                  "expiration_date": "202205", "last_au_request_date": null,
                  "last_update_date": null }, "account_holder": "Donovan
                  United", "billing_address": { "object": "Address", "vid":
                  "e3dd2a7cc6ba57b8d4cdf5a9f927aca5e604cb81", "name": "Donovan
                  United", "line1": "18649 High Street", "city": "Mumbai",
                  "district": "MH", "postal_code": "411017", "country": "IN" },
                  "customer_description": "Credit Card", "primary": true,
                  "active": true, "linked_subscription": true } ],
                  "total_count": 1, "url":
                  "/payment_methods?limit=1&account=Account_1672665754", "next":
                  "/payment_methods?limit=1&account=Account_1672665754&starting_after=CC_1672665754",
                  "previous":
                  "/payment_methods?limit=1&account=Account_1672665754&ending_before=CC_1672665754"
                  }
                items:
                  $ref: '#/components/schemas/PaymentMethodList'
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Error - 401 Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example: ''
        '404':
          description: Error - 404 Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example: >-
                { "object": "Error", "message": "This endpoint does not exist. 
                Check our API docs." }
        '500':
          description: Internal server error
components:
  schemas:
    ID:
      maxLength: 128
      type: string
      description: >-
        A unique identifier. Optionally, this object can also be identified by
        its vid. Using a unique custom identifier is strongly encouraged.
    PaymentMethodList:
      type: object
      properties:
        object:
          type: string
          enum:
            - List
        total_count:
          type: integer
          description: Integer count of the number of items in the returned list.
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
        url:
          type: string
          description: The query string provided in the request
        next:
          type: string
          description: >-
            The route (partial URL) to the next PaymentMethod object (string to
            select the “next”); included id should match that of the last object
            returned here.
        previous:
          type: string
          description: >-
            The route (partial URL) to the previous PaymentMethod object (string
            to select the “previous”); included id should match that of the
            first object returned here.
      description: A list of PaymentMethod.
      example: >-
        { "object": "List", "data": [ { "object": "PaymentMethod", "id":
        "paym_1235", "vid": "97b0915f6e65614462fdee6ffbc8385f3308188f",
        "created": "2020-05-24T17:41:29-07:00", "type": "CreditCard",
        "credit_card": { "object": "CreditCard", "vid":
        "0f0c86caef22b95b80f430cd4f8fc2df52a03f97", "account":
        "422277XXXXXX9507", "bin": "422277", "last_digits": "9507",
        "account_length": 16, "expiration_date": "202605" }, "account_holder":
        "Sally W. Brown", "billing_address": { "object": "Address", "vid":
        "2eec375cdf13cd4998346796995099146448a651", "name": "Sally Brown",
        "line1": "123 Main Street", "city": "San Francisco", "district": "CA",
        "postal_code": "94105", "country": "US", "phone": "415-555-3212" },
        "customer_specified_type": "VI", "primary": true, "active": true } ],
        "total_count": 1, "url": "/payment_methods?limit=1&account=cust_1235",
        "next":
        "/payment_methods?limit=1&account=cust_1235&starting_after=paym_1235",
        "previous":
        "/payment_methods?limit=1&account=cust_1235&ending_before=paym_1235" }
    Error:
      required:
        - code
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      description: The object contains information about the error.
    PaymentMethod:
      type: object
      properties:
        object:
          type: string
          description: Value is "PaymentMethod".
          enum:
            - PaymentMethod
        id:
          $ref: '#/components/schemas/ID'
        vid:
          $ref: '#/components/schemas/VID'
        created:
          type: string
          description: The date/time the object was created.
          format: datetime
        type:
          type: string
          enum:
            - Amazon
            - ApplePay
            - Boleto
            - CarrierBilling
            - CreditCard
            - DirectDebit
            - ECP
            - GooglePay
            - ExternalBilling
            - HostedPage
            - MerchantAcceptedPayment
            - MilitaryStar
            - PayPal
            - Skrill
            - Token
            - Venmo
        credit_card:
          $ref: '#/components/schemas/CreditCard'
        ecp:
          $ref: '#/components/schemas/Ecp'
        direct_debit:
          $ref: '#/components/schemas/DirectDebit'
        paypal:
          $ref: '#/components/schemas/Paypal'
        amazon:
          $ref: '#/components/schemas/Amazon'
        skrill:
          $ref: '#/components/schemas/Skrill'
        boleto:
          $ref: '#/components/schemas/Boleto'
        hosted_page:
          $ref: '#/components/schemas/HostedPage'
        token:
          $ref: '#/components/schemas/Token'
        merchant_accepted_payment:
          $ref: '#/components/schemas/MerchantAcceptedPayment'
        carrier_billing:
          $ref: '#/components/schemas/CarrierBilling'
        external_billing:
          $ref: '#/components/schemas/ExternalBilling'
        apple_pay:
          $ref: '#/components/schemas/ApplePay'
        google_pay:
          $ref: '#/components/schemas/GooglePay'
        military_star:
          $ref: '#/components/schemas/MilitaryStar'
        venmo:
          $ref: '#/components/schemas/Venmo'
        metadata:
          $ref: '#/components/schemas/METADATA'
        account_holder:
          type: string
          description: Name of the account holder.
        billing_address:
          $ref: '#/components/schemas/Address'
        customer_specified_type:
          type: string
          description: Optional CSP- or customer-specified type description.
        customer_description:
          type: string
          description: Optional CSP- or customer-specified card (method) description.
        currency:
          type: string
          description: The [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) Currency Code.
        primary:
          type: boolean
          description: Primary/default payment method for the account.
        active:
          type: boolean
          description: Active and available for use.
        validation_status:
          $ref: '#/components/schemas/TransactionStatus'
        external_token:
          type: string
          description: >-
            Token value identifying a tokenized payment method used. Relevant
            for different payment methods such as tokenized credit cards or
            Venmo.
        policy:
          type: object
          description: The policy object governing Payment Method behavior.
        'policy: enable_3ds':
          type: boolean
          description: >-
            Enable the 3DS payment standard for strong customer authentication.
            A merchant configuration serves as a higher level indication whether
            3DS is used by the merchant. When available for use, you can enable
            the 3DS flow per subscription, transaction, or payment method.
        'policy: min_chargeback_probability':
          type: integer
          description: >-
            If Chargeback Probability from risk scoring is greater than this,
            the transaction will fail. Default is 100.
        'policy: ignore_cvn_policy':
          type: boolean
          description: >-
            Indicates whether to evaluate any custom or default CVN (card
            security code) policy.
        'policy: ignore_avs_policy':
          type: boolean
          description: >-
            Indicates whether to evaluate any custom or default AVS (card
            Address Verification Service) policy.
        'policy: validate':
          type: boolean
          description: >-
            Enable to validate the PaymentMethod object first before creating or
            updating. If validation fails, the PaymentMethod is not updated.
        'policy: source_ip':
          type: string
          description: >-
            The customer IP address from which the customer specified details
            for this payment method. It must be specified if you want Subscribe
            to evaluate risk score for this payment method.
        linked_subscription:
          type: boolean
          description: >
            Indicates whether the payment method is used in a subscription. if
            true, the payment method is used by a subscription.

            Note: The Subscribe Merchant Portal 2.0 does not allow you to remove
            a Payment Method from an account if there are subscriptions using
            that Payment Method.
    VID:
      maxLength: 128
      type: string
      description: >-
        A Globally Unique Identifier (GUID) for this object. This value is
        generated by Vindicia.
    CreditCard:
      type: object
      properties:
        object:
          type: string
          description: Value is "CreditCard"
        vid:
          $ref: '#/components/schemas/VID'
        account:
          type: string
          description: >-
            The Primary Account Number (PAN) aka Credit Card Number
            (encrypted/hidden when returned) For non-Subscribe methods (e.g.,
            Transaction::score), this field must be left blank. The precise form
            used here will vary with the exact payment method.
        bin:
          type: string
          description: >-
            The first 6 digits of the PAN (Bank Identifier Number). If the
            account field is provided, this may be left blank and it will be
            filled in by Vindicia.
        type:
          type: string
          description: Issuing card network information.
          enum:
            - AX
            - CU
            - DC
            - DD
            - DI
            - JC
            - MC
            - MD
            - SW
            - VI
        last_digits:
          type: string
          description: The last 4 digits of the PAN
        account_length:
          type: integer
          description: The number of digits in the PAN
        hash_type:
          type: string
          description: >-
            The algorithm used for hashing the account number. If this value is
            not provided we assume SHA1. Values can be sha1, md5
          enum:
            - sha1
            - md5
        account_hash:
          type: string
          description: >-
            A hash of the full PAN. Any non-numeric characters should be removed
            prior to hashing. If the account number is provided, this may be
            left blank and the hash will be calculated by Vindicia. The exact
            length and format of this string may depend upon the hash algorithm
            chosen.
        expiration_date:
          type: string
          description: >-
            Expiration date of the credit card. Should be formatted as YYYYMM.
            For example, July, 2028 should be sent as 202807.
        extended_card_attributes:
          $ref: '#/components/schemas/ExtendedCardAttributes'
        extended_verification:
          $ref: '#/components/schemas/ExtendedVerification'
        extended_verification_response:
          $ref: '#/components/schemas/ExtendedVerificationResponse'
        cvn:
          type: string
          description: >-
            CVV (Card Verification Value) or CVN (Card Verification Number)
            printed on the card.
        last_au_request_date:
          type: string
          description: Timestamp of the most recent Account Updater request.
          format: datetime
        last_update_date:
          type: string
          description: Timestamp of the most recent credit card update.
          format: datetime
        au_response_code:
          type: string
          description: >-
            Response code from the payment provider for the most recent Account
            Updater request.
        au_response_message:
          type: string
          description: >-
            Reply from the payment provider for the most recent Account Updater
            request
      description: This object defines an instance of a specific Credit Card.
    Ecp:
      type: object
      properties:
        object:
          type: string
          description: Value is "ECP"
        account:
          type: string
          description: >-
            The full bank account number for this payment. Be certain to enter
            this number in full if you are using the associated payment method
            for Subscribe Transactions. Note:- Subscribe does not validate ECP
            accounts algorithmically, and partially masks the account number
            when returning it in response to your call.
        hash_type:
          type: string
          description: >-
            The type of hash algorithm used if you specify the accountHash
            field. Subscribe supports SHA1 hashing only. You need not specify
            this field if the associated payment method is for a Transaction
            processed through Subscribe. Can be sha1, md5
          enum:
            - sha1
            - md5
        account_hash:
          type: string
          description: >-
            A hash of the full account number. Specify this string only if you
            are not specifying the full account number when reporting a
            Transaction for ChargeGuard.
        routing_number:
          type: string
          description: >-
            The bank routing number for an ACH or ECP account. Be certain to
            enter the correct number if you are using the associated payment
            method for Subscribe Transactions.
        account_type:
          type: string
          description: >-
            Required. The type of bank account that issues this electronic
            check. Can be ConsumerChecking, ConsumerSavings, CorporateChecking,
            CorporateSavings
          enum:
            - ConsumerChecking
            - ConsumerSavings
            - CorporateChecking
            - CorporateSavings
        last_digits:
          type: string
          description: >-
            The truncated last part of the full account number, typically the
            last four or five digits of that number. Specify this string only if
            you are not specifying the full account number or its hash in the
            accountHash field for security when reporting transactions to
            Vindicia for ChargeGuard. You need not specify this field if the
            associated payment method is for a one-time or recurring transaction
            processed through Subscribe.
        account_length:
          type: string
          description: >-
            The length (number of digits) of the full account number. Specify
            this string only if you are not specifying the full account number
            when reporting a Transaction for ChargeGuard.
        allowed_transaction_type:
          type: string
          description: >-
            The enumerated Transaction types allowed for ECP- or ACH-based
            Transactions that use this PaymentMethod object. Can be All,
            Inbound, InboundOutbound, NA, Outbound, Transfer
          enum:
            - All
            - Inbound
            - InboundOutbound
            - NA
            - Outbound
            - Transfer
      description: This object defines ACH (aka ECP) details.
    DirectDebit:
      type: object
      properties:
        object:
          type: string
          description: Value is “DirectDebit”
        account:
          type: string
          description: >-
            The number of the customer’s bank account from which to deduct
            payment. To use the associated PaymentMethod object for one-time or
            recurring transactions, you must specify the full account number.
        last_digits:
          type: string
          description: >-
            The last part of the account number for display purposes, generally
            the last four digits. If the account field is provided, this may be
            left blank and it will be filled in by Vindicia.
        account_length:
          type: integer
          description: >-
            Length of the total account number. If the full account number is
            submitted, this field may be left blank; Vindicia will calculate it.
        hash_type:
          type: string
          description: Can be sha1, md5
          enum:
            - sha1
            - md5
        account_hash:
          type: string
          description: >-
            A hash of the full account number. Any non-numeric characters should
            be removed prior to hashing. If the account number is provided, this
            may be left blank and the hash will be calculated by Vindicia. The
            exact length and format of this string may depend upon the hash
            algorithm chosen.
        country_code:
          type: string
          description: >-
            The ISO-3166-1 two-letter code for the country in which the related
            bank account is located. This code must match the country code
            specified in the PaymentMethod object’s billing address.
        bank_sort_code:
          type: string
          description: >-
            The European bank sort code that identifies the bank that houses the
            customer’s bank account whose number is specified in the account
            field. This code is similar to the bank routing number in the United
            States. Required You if this is for a Transaction processed through
            Subscribe unless the countryCode attribute is set to NL or BE.
        rib_code:
          type: string
          description: The RIB code for an DirectDebit account (France only)
        branch_code:
          type: string
          description: The branch code for an Direct Debit account
      description: This object defines Direct Debit details (vary by country/system)
    Paypal:
      type: object
      properties:
        object:
          type: string
          description: Value is "PayPal"
        paypal_email:
          type: string
          description: PayPal Email Address of User
        payer_id:
          type: string
          description: A unique PayPal subscriber account identification PayerID
        return_url:
          type: string
          description: >-
            The URL to which you would like customers to be redirected after
            they have successfully completed payment transactions on the PayPal
            site. This is often your confirmation page, on which the customer
            confirms the order and payment or the billing agreement. Example:-
            http://myshoppingcart.merchant.com
        cancel_url:
          type: string
          description: >-
            The URL to which you would like to redirect customers after a
            cancelled or unsuccessful transaction on the PayPal site. Example:-
            http://tryagain.merchant.com
        request_reference_id:
          type: boolean
          description: >-
            When processing the initial Transaction for a Subscription, ask
            PayPal for a Reference ID that can be used in the future for
            recurring billing. This works only if you have been previously
            approved for Reference Transactions by PayPal.
        reference_id:
          type: string
          description: >-
            PayPal field REFERENCEID, which is the Billing Agreement ID or
            Reference Transaction ID associated with a PayPal Billing Agreement.
            If you enter a value for this data member, set requestReferenceId to
            false.
        created_at:
          type: string
          description: >-
            Braintree Paypal attribute. A read-only attribute that displays the
            date and time that paypal payment method was created in the
            Subscribe system, displayed in UTC time zone.
          format: datetime
        customer_id:
          type: string
          description: >-
            Braintree Paypal attribute. A unique merchant account identification
            representing your existing customer that owns this payment method.
        default:
          type: boolean
          description: >-
            Braintree Paypal attribute.Defines whether this is the default
            payment method for the customer in the Braintree vault.
        image_url:
          type: string
          description: >-
            Braintree Paypal attribute.Optional. Shows a path to the payment
            method image resource (a PNG file) hosted by Braintree.
        revoked_at:
          type: string
          description: >-
            Braintree Paypal attribute.A read-only attribute that displays the
            date and time that paypal payment method was revoked, displayed in
            UTC time zone.
          format: datetime
        payment_method_nonce:
          type: string
          description: >-
            Braintree Paypal attribute. A nonce sent by merchant serves as a
            secure, one-time-use reference for payment information. This is a
            limited-time identifier which, later in the process, is replaced by
            the Payment Method's external_token.
        updated_at:
          type: string
          description: >-
            Braintree Paypal attribute.A read-only attribute that displays the
            date and time that paypal payment method was updated, displayed in
            UTC time zone.
          format: datetime
        vaulted:
          type: boolean
          description: >-
            Braintree Paypal attribute.Defines whether the payment method has
            been vaulted.
      description: This object defines PayPal Express Checkout account details.
    Amazon:
      type: object
      properties:
        object:
          type: string
          description: Value is "Amazon"
        billing_agreement_id:
          type: string
          description: >-
            The Amazon billing agreement identifier. This value is returned by
            the OffAmazonPayments getAmazonBillingAgreementId API call and
            should be passed to Vindicia here.
        buyer_name:
          type: string
          description: The name Amazon associates with the billing agreement identifier.
        buyer_email:
          type: string
          description: The email Amazon associates with the billing agreement identifier.
        physical_address:
          $ref: '#/components/schemas/Address'
        billing_address:
          $ref: '#/components/schemas/Address'
        address_verification_code:
          type: string
          description: >-
            The address verification code Amazon received when validating the
            buyer’s payment method.
      description: This object defines Amazon Payments account details.
    Skrill:
      type: object
      properties:
        object:
          type: string
          description: Value is "Skrill"
        billing_agreement_id:
          type: string
          description: The Skrill 1-Tap billing agreement identifier (rec_payment_id).
        pay_from_email:
          type: string
          description: The pay_from_email associated with the Skrill account.
        payment_type:
          type: string
          description: The Skrill payment_type code.
        return_url:
          type: string
          description: >-
            The URL to which you would like to redirect customers after a
            Skrill-based Transaction is completed.
        cancel_url:
          type: string
          description: >-
            The URL to which you would like to redirect customers if they do not
            approve payment via Skrill.
      description: This object defines Skrill digital wallet details.
    Boleto:
      type: object
      properties:
        object:
          type: string
          description: Value is "Boleto"
        fiscal_number:
          type: string
          description: >-
            The fiscal number that appears on the customer’s Boleto Bancário
            payment slip. This number, formally called Casadastro de Pessoas, is
            formatted in a specific pattern (modulo 11).
      description: >-
        This object defines Boleto Bancario details. Note:- fiscalNumber is
        associated with a customer, not a payment method, and is analogous to a
        U.S. social security number. Treat fiscalNumber as Personally
        Identifiable Information (PII).
    HostedPage:
      type: object
      properties:
        object:
          type: string
          description: Value is "HostedPage"
        payment_provider:
          $ref: '#/components/schemas/PaymentProvider'
        country_code:
          type: string
          description: The ISO 3166 ( alpha-2 ) country code for customer’s location,
        return_url:
          type: string
          description: >-
            The URL to which you would like customers to be redirected after
            they have successfully completed the Hosted Page transaction. This
            is often your confirmation page.
        language:
          type: string
          description: Required. The ISO 639-1 language matrix code for the payment pages.
        processor_payment_method_id:
          type: string
          description: The payment method to use for the Transaction.
        billing_agreement_id:
          type: string
          description: >-
            If supported by the processor, the token used to rebill this payment
            method in the future.
      description: This object defines Externally Hosted Payment Page details.
    Token:
      type: object
      properties:
        object:
          type: string
          description: Value is “Token”
          enum:
            - Token
        id:
          $ref: '#/components/schemas/ID'
        vid:
          $ref: '#/components/schemas/VID'
        description:
          type: string
          description: Text describing the token type
      description: >-
        The token object provides a way to offer virtual currencies or track the
        balance of a consumable service item.
    MerchantAcceptedPayment:
      type: object
      properties:
        object:
          type: string
          description: Value is "MerchantAcceptedPayment"
        amount:
          type: string
          description: >-
            The amount paid by a customer. This value must be 0 for
            PaymentMethods attached to Subscriptions. Note:- Merchant Accepted
            Payment Methods may be attached to Subscriptions to indicate that
            the customer should be invoiced (rather than automatically charged).
          format: decimal
        currency:
          type: string
          description: >-
            The ISO 4217 currency code for the payment. Must match the currency
            for charges on the Invoice/Subscription.
        token:
          $ref: '#/components/schemas/Token'
        created:
          type: string
          description: The time that payment occurred.
          format: datetime
        payment_type:
          type: string
          description: The type of payment accepted by the merchant.
        payment_id:
          type: string
          description: The ID of the payment accepted by the merchant.
        account:
          type: string
          description: The full account number.
        last_digits:
          type: string
          description: >-
            The last part of the account number for display purposes, generally
            the last four digits.
        account_length:
          type: integer
          description: >-
            Length of the total account number. If the full account number is
            submitted, this field may be left blank.
        hash_type:
          type: string
          description: >-
            The algorithm used to hash the account number. If this value is not
            provided, Subscribe will use assume SHA1. Can be:- md5 or sha1
          enum:
            - md5
            - sha1
        account_hash:
          type: string
          description: >-
            A hash of the full account number. Any non-numeric characters should
            be removed prior to hashing. If the account number is provided, this
            may be left blank and the hash will be calculated by Subscribe.
        note:
          type: string
          description: An optional memo regarding the payment made.
      description: This object defines Pay By Invoice details.
    CarrierBilling:
      type: object
      properties:
        object:
          type: string
          description: Value is "CarrierBilling"
        phone_number:
          $ref: '#/components/schemas/PhoneNumber'
        encoded_phone_number:
          type: string
          description: >-
            Read Only. The payment provider-encoded phone number used in the
            Transaction.
        carrier:
          type: string
          description: >-
            The identifier for the carrier, either read from the phone or
            entered by the customer.
        payment_provider:
          $ref: '#/components/schemas/PaymentProvider'
        currency:
          type: string
          description: >-
            ISO 4217 Currency Code for either the static_price_inc_salestax, or
            the dynamic_target_price. (For dynamic pricing, the customer
            currency will be determined by the customer region/countryCode.)
        country_code:
          type: string
          description: ISO 3166-1 alpha-2 Country Code for the customer’s location.
        price_criteria:
          $ref: '#/components/schemas/PriceCriteria'
      description: This object defines Telco carrier billing details.
    ExternalBilling:
      type: object
      properties:
        object:
          type: string
          enum:
            - ExternalBilling
        vid:
          $ref: '#/components/schemas/VID'
        bill_receiver:
          type: string
          description: >-
            The payment provider. In this case the payment provider is another
            billing system implemented in the integration.
        payment_channel:
          type: string
          description: >-
            The customer paymentChannelId in the billing system. The best
            practice is that this is the same as the CSPPaymentMethodId in the
            PaymentMethod Object.
        financial_account:
          type: string
          description: The customer financial account ID in the billing system.
    ApplePay:
      type: object
      properties:
        object:
          type: string
          description: Value is "ApplePay"
        payment_instrument_name:
          type: string
          description: The paymentInstrumentName field from PKPayment.
        payment_network:
          type: string
          description: The paymentNetwork from PKPayment.
        transaction_identifier:
          type: string
          description: The transactionIdentifier field from PKPayment.
        payment_data:
          type: string
          description: The paymentData field from PKPayment
        expiration_date:
          type: string
          description: >-
            Returns the expiration date of the credit card used for ApplePay.
            Will be formatted as YYYYMM. For example, July, 2028 will be
            returned as 202807.
          format: datetime
      description: This object defines Apple Pay details.
    GooglePay:
      type: object
      properties:
        object:
          type: string
          description: Value is "GooglePay"
        payment_token:
          type: string
          description: >-
            The encrypted paymentToken you receive after calling
            GooglePaymentDataRequest.
        eci_indicator:
          type: string
          description: ''
        gateway_merchant:
          type: string
          description: ''
        message_identifier:
          type: string
          description: ''
        expiration_date:
          type: string
          description: ''
          format: datetime
      description: This object defines Google Pay details.
    MilitaryStar:
      type: object
      properties:
        object:
          type: string
          description: Value is "MilitaryStar"
        vid:
          type: string
          description: >-
            A Globally Unique Identifier (GUID) for this object. This field is
            created by Subscribe.
        account:
          type: string
          description: The MilitaryStar account number.
        account_length:
          type: integer
          description: >-
            Length of the total account number. If the full account number is
            submitted, this field may be left blank; Vindicia will calculate it.
        account_last_digits:
          type: string
          description: ''
        account_hash:
          type: string
          description: >-
            A hash of the full account number. Any non-numeric characters should
            be removed prior to hashing. If the account number is provided, this
            may be left blank and the hash will be calculated by Vindicia. The
            exact length and format of this string may depend upon the hash
            algorithm chosen. Currently this value is not returned (i.e. is
            null) when you fetch this object from Vindicia e.g. via fetched
            transactions
        cid:
          type: string
          description: The Customer Identification Number, of the account holder.
        cid_length:
          type: integer
          description: >-
            Length of the cid. If the cid is submitted, this field may be left
            blank; Vindicia will calculate it.
        cid_last_digits:
          type: string
          description: >-
            The last part of the cid for display purposes, generally the last
            four digits. If the cid field is provided, this may be left blank
            and it will be filled in by Vindicia.
        cid_hash:
          type: string
          description: >-
            A hash of the full cid. Any non-numeric characters should be removed
            prior to hashing. If the account number is provided, this may be
            left blank and the hash will be calculated by Vindicia. The exact
            length and format of this string may depend upon the hash algorithm
            chosen. Currently this value is not returned (i.e. is null) when you
            fetch this object from Vindicia e.g. via fetched transactions
        hash_type:
          type: string
          description: Can be:- md5 or sha1
          enum:
            - md5
            - sha1
      description: This object defines Military Star details.
    Venmo:
      type: object
      properties:
        object:
          type: string
          description: Value is "Venmo"
        payment_method_nonce:
          type: string
          description: >-
            A secure, one-time-use reference for payment information. This is a
            limited-time identifier that is later in the process replaced by the
            payment method's external_token.
        customer_id:
          type: string
          description: A unique merchant account identification
        default:
          type: boolean
          description: >-
            True/false. Defines whether this is the default payment method for
            the customer in the Braintree vault.
        vaulted:
          type: boolean
          description: True/false. Defines whether the payment method has been vaulted.
        created_at:
          type: string
          description: >-
            A read-only attribute that displays the date and time that venmo
            payment method was created in the Subscribe system.
          format: datetime
        image_url:
          type: string
          description: >-
            Optional.This atribute can show a path to the payment provider's
            provided image.
        source_description:
          type: string
          description: >-
            Optional. A venmo identifier that provides a short description of
            the payment method, including the Venmo username.
        username:
          type: string
          description: Optional. The customer's venmo username
        venmo_user_id:
          type: string
          description: Optional. The venmo user's id for the customer.
      description: This object defines Venmo details
    METADATA:
      type: object
      description: >-
        Metadata are sets of key-value pairs and are useful for storing
        additional, structured information on an object. This object is used to
        store a list of keys, which you create and associate with text string
        values. You use these key-value pairs to store custom data for your own
        internal tracking purposes, or to store CashBox specific data for
        defined CashBox purposes.


        The metadata field supports key-value pairs with the following
        limitations:


        Keys can be up to 256 characters


        Keys can be any string that is needed, except only CashBox can prefix
        keys with vin:


        Values can be up to 1024 characters


        In some cases metadata from one object will be inherited automatically
        from one object to another that is spawned from it. e.g. metadata on a
        Subscription and SubscriptionItem will be inherited by all Transactions
        and TransactionItems that result from them.
    Address:
      type: object
      properties:
        object:
          type: string
          description: Value is “Address”
          enum:
            - Address
        vid:
          $ref: '#/components/schemas/VID'
        name:
          type: string
          description: The name of the person or contact associated with this address.
        line1:
          type: string
          description: Address Line 1
        line2:
          type: string
          description: Address Line 2
        line3:
          type: string
          description: Address Line 3
        city:
          type: string
        county:
          type: string
        district:
          type: string
          description: State, Province, or District
        postal_code:
          type: string
        country:
          type: string
        phone:
          type: string
        fax:
          type: string
        latitude:
          type: number
        longitude:
          type: number
      description: The Address object represents a physical or mailing address.
    TransactionStatus:
      type: object
      properties:
        object:
          type: string
          description: Value is “TransactionStatus”
          enum:
            - TransactionStatus
        status:
          type: string
          description: Status of the Transaction.
          enum:
            - New
            - AuthorizationPending
            - AuthorizedPending
            - Authorized
            - AuthorizedForValidation
            - Cancelled
            - Captured
            - Settled
            - Refunded
            - Pending
        created:
          type: string
          description: The effective datetime of this status
          format: datetime
        payment_method_type:
          type: string
          description: Type of Payment Method (clarifies status).
          enum:
            - CreditCard
            - PayPal
            - ECP
            - DirectDebit
            - Token
            - HostedPage
            - Boleto
            - CSPAcceptedPayment
            - CarrierBilling
            - Amazon
            - Skrill
            - ApplePay
        vin_avs:
          type: string
          description: AVS result.
          enum:
            - FullMatch
            - PartialMatch
            - NoMatch
            - IssuerError
            - NoOpinion
            - NotSupported
        funding_source_balance:
          type: number
        credit_card_status:
          $ref: '#/components/schemas/CreditCardStatus'
    ExtendedCardAttributes:
      type: object
      properties:
        object:
          type: string
          description: Value is "ExtendedCardAttributes"
        browser_accept_header:
          type: string
          description: The contents of the customer's browser's HTTP Accept header.
        browser_user_agent_header:
          type: string
          description: The contents of the customer browse HTTP User-Agent header.
        browser_javascript_enabled:
          type: string
          description: Indicates if the browser supports javascript.
        browser_language:
          type: string
          description: The language of the browser.
        browser_remote_address:
          type: string
          description: The remote address of the merchant's customer.
        browser_screen_resolution:
          type: string
          description: The screen resolution of the browser.
        browser_screen_color_depth:
          type: string
          description: The screen color depth of the browser.
        browser_timezone:
          type: string
          description: The time zone of the browser.
        method_notification_url:
          type: string
          description: >-
            The URL from which the merchant expects to receive the 3DS service
            notification of device acknowledgement completion.
        return_url:
          type: string
          description: >-
            The URL to which the merchant wants the customers redirected after
            the verification is completed.
        nameValues:
          type: object
          description: >-
            Additional fields required for SCA should be included in this array.
            A name-value pair describing attributes not otherwise supported in
            the object.
      description: Additional credit card details returned from Payment Provider
    ExtendedVerification:
      type: object
      properties:
        object:
          type: string
          description: Value is "ExtendedVerification"
        commercial_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is flagged as business/commercial.
            Applicable Processors: CPT, Litle.
        consumer_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is flagged as personal/consumer.
            Applicable Processor: Litle.
        credit_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a credit or charge card.
            Applicable Processors: Litle, MeS, Chase.
        debit_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a debit card. Applicable
            Processors: Litle, MeS, Chase.
        signature_debit_card:
          type: integer
          description: >-
            Boolean indicator - True = Debit card uses “Signature” scheme.
            Applicable Processor: CPT.
        pinless_debit_card:
          type: integer
          description: >-
            Boolean indicator - True = Debit card uses “Pinless” scheme.
            Applicable Processor: CPT.
        gift_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a gift card. Applicable
            Processors: Litle, MeS.
        prepaid_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a pre-paid card. Applicable
            Processors: CPT, Litle, MeS.
        payroll_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a payroll/benefits card.
            Applicable Processors: CPT, Litle.
        healthcare_card:
          type: integer
          description: >-
            Boolean indicator - True = Card is a benefits card. Applicable
            Processors: CPT, Litle, MeS.
        virtual_account_number:
          type: integer
          description: >-
            Boolean indicator - True = Card is a virtual account. Applicable
            Processor: Litle.
        reloadable:
          type: integer
          description: >-
            Boolean indicator - True = Prepaid card is re-loadable. Applicable
            Processor: Litle.
        country_of_issuance:
          type: string
          description: >-
            Country Code for issuing bank. Possible values: USA, etc. Applicable
            Processors: CPT, Litle.
        durbin_regulated:
          type: integer
          description: 'Applicable Processor: CPT.'
        affluent:
          type: integer
          description: >-
            Boolean indicator - True = Account Holder flagged as “affluent”.
            Applicable Processors: CPT, Litle.
        mass_affluent:
          type: integer
          description: >-
            Boolean indicator - True = Account Holder flagged as “mass
            affluent”. Applicable Processor: Litle.
        card_description:
          type: string
          description: >-
            The returned description for the card. Applicable Processors: Litle,
            MeS.
      description: Input Details for ExtendedVerification of a credit card payment method.
    ExtendedVerificationResponse:
      type: object
      properties:
        object:
          type: string
          description: Value is "ExtendedVerificationResponse"
          enum:
            - ExtendedVerificationResponse
        redirect_url:
          type: string
          description: >-
            The URL merchant should redirect a customer to complete a
            transaction.
        post_values:
          type: object
          description: >-
            Optional array of name/value pairs the merchant should POST to the
            redirectUrl.
        method_notification_url:
          type: string
          description: >-
            The URL that will receive the notification of completion by 3DS
            service.
        method_url:
          type: string
          description: >-
            The URL that should be used by the merchant to allow the 3ds service
            to obtain browser and device information.
        method_data:
          type: string
          description: >-
            Base64 encoded JSON with the notification URL and the transaction
            XID.
        auth3ds_resp_code:
          type: string
          description: >-
            Indicates the status response of the authentication from the 3DS
            provider.
        auth3ds_error_code:
          type: string
          description: >-
            Indicates the error code of the authentication from the 3DS
            provider.
    PaymentProvider:
      type: object
      properties:
        object:
          type: string
          description: Value is "PaymentProvider"
        name:
          type: string
          description: Provider Name
        dispute_address:
          type: string
          description: Contact address for written disputes.
        dispute_email:
          type: string
          description: Contact email for electronic disputes.
        dispute_uri:
          type: string
          description: Contact URL for online disputes.
        auth_expiration_days:
          type: integer
          description: Default expiration timing (days) for un-captured authorizations.
        auth_currency_override:
          type: string
          description: Currency override for Authorizations
        metadata:
          type: object
          description: >-
            A set of key/value pairs that you can attach to an object. Useful
            for storing additional information.
      description: >-
        The payment providers object represents processor or payment channel
        used to transact a particular charge.
    PhoneNumber:
      type: object
      properties:
        object:
          type: string
          description: Value is "PhoneNumber"
        phone_type:
          type: string
          description: >-
            Type or Use designation for the phone number. Value can be CS, Fax,
            Home, Main, Mobile, Pager, Unspecified, Work
          enum:
            - CS
            - Fax
            - Home
            - Main
            - Mobile
            - Pager
            - Unspecified
            - Work
        country_code:
          type: string
          description: Country Code segment of a phone number.
        area_code:
          type: string
          description: Area Code segment of a phone number.
        local_number:
          type: string
          description: Local segment of a phone number (excluding extension).
        extension:
          type: string
          description: Phone number extension.
        raw_input:
          type: string
          description: Raw, unfiltered data input by customer.
      description: >-
        The payment providers object represents processor or payment channel
        used to transact a particular charge.
    PriceCriteria:
      type: object
      properties:
        object:
          type: string
          description: Value is "PriceCriteria"
        payment_provider:
          $ref: '#/components/schemas/PaymentProvider'
        currency:
          type: string
          description: >-
            ISO 4217 Currency Code for for either the static_price_inc_salestax,
            or the dynamic_target_price Overrides CarrierBilling.currency.
        currency_code:
          type: string
          description: >-
            ISO 3166-1 alpha-2 countryCode for customer location. Overrides
            CarrierBilling.countryCode.
        price_point_deviation_policy:
          type: string
          description: >-
            The price deviation policy for dynamic price selection. Value can be
            HiOnly, HiPreferred, LowOnly, LowPreferred, NearestNoPreference
          enum:
            - HiOnly
            - HiPreferred
            - LowOnly
            - LowPreferred
            - NearestNoPreference
        dynamic_price_mode:
          type: string
          description: >-
            Specifies which price point element is matched by the dynamic
            pricing algorithm. Values can be PayoutGross, PayoutNet, Price
          enum:
            - PayoutGross
            - PayoutNet
            - Price
        merchant_service_identifier:
          type: string
          description: Service identifier for Payment Provider/Merchant.
        sub_merchant_identifier:
          type: string
          description: Optional identifier of sub-merchant associated with Transaction.
        description:
          type: string
          description: ''
        fwd_url:
          type: string
          description: >-
            Overrides both the successful transaction forward-to URL and the
            failed transaction forward-to URL.
        static_selection_row_ref:
          type: integer
          description: Row number identifier in the static product/service price matrix
        static_price_inc_sales_tax:
          type: string
          description: >-
            Price including tax (the actual amount the consumer will pay). Used
            with Transactions with static ‘exact match’ pricing.
          format: decimal
        dynamic_deviation:
          type: integer
          description: >-
            The percent deviation (+/- 1000) from the target value that is
            acceptable as a price point selection.
        dynamic_match:
          type: integer
          description: >-
            The percent deviation (+/- 1000) from the target value that is
            classified as an exact match.
        dynamic_target_price:
          type: string
          description: Target price in the specified currency for dynamic pricing.
          format: decimal
      description: Price Criteria details used with telco carrier billing payment methods.
    CreditCardStatus:
      type: object
      properties:
        object:
          type: string
          description: Value is “TransactionStatusCreditCard”
          enum:
            - CreditCardStatus
        auth_code:
          type: string
          description: >-
            Result code for the status update. In the case of auth, capture, and
            authCapture this should be the code returned by the payment
            processor. In the case of cancellations, it should be the reason
            code returned by the payment processor if that is the cause of the
            cancellation, or -1 if the decision to cancel was made by you or the
            customer.
        avs_code:
          type: string
          description: >-
            AVS response code. When reporting a transaction, if you receive the
            AVS code as a string along with its authorization code (ie
            Y:2341234234 or Y-2341234234) just copy it into this field. If you
            receive the AVS code separate from its authorization code you should
            concatenate them with a colon as a separator as in the first
            example.
        cvn_code:
          type: string
          description: >-
            CVN response code. When reporting a transaction, if you receive the
            CVN code as a string along with its authorization code (ie
            M:2341234234 or M-2341234234) just copy it into this field. If you
            receive the CVN code separate from its authorization code you should
            concatenate them with a colon as a separator as in the first
            example.
        auth_approval_code:
          type: string
          description: >-
            Authorization approval code. A unique string from the processor
            confirming the authorization.
        extended_card_attributes:
          $ref: '#/components/schemas/ExtendedCardAttributes'
        extended_verification:
          $ref: '#/components/schemas/ExtendedVerificationResponse'
        merchant_advice_code:
          type: string
          description: >-
            Merchant Advice Code (MAC): These are codes being returned from the
            credit card issuers(VISA & Master card) that provide more detailed
            information on transaction retry status. Also known as Category
            Codes
        merchant_advice_response:
          type: string
          description: >-
            This is the description relevent for the merchant_advice_code that
            allows you to understand the transaction retry status.
        network_response_code:
          type: string
          description: >-
            This is response code received from the credit card issuers (VISA &
            Master card) that provides the reason the transaction failed.
        network_response:
          type: string
          description: >-
            It utilizes Network Response Codes that are received from payment
            providers to understand the reason for a failure, designate as a
            hard (R) or soft (D) fail, and enable smart retries when relevant.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.