Hint Health PaymentMethod API

The PaymentMethod API from Hint Health — 3 operation(s) for paymentmethod.

OpenAPI Specification

hint-health-paymentmethod-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Hint Health AccountAccessToken PaymentMethod API
  description: REST API providing programmatic access to Hint Health's direct primary care platform, covering patient and membership management, billing, charges, invoices, clinical data, practice configuration, partner integrations, and webhook event delivery.
  version: '1.0'
  contact:
    name: Hint Health Developer Support
    email: devsupport@hint.com
    url: https://developers.hint.com
  license:
    name: Private
  termsOfService: https://www.hint.com/terms
servers:
- url: https://api.hint.com/api
  description: Production
- url: https://api.sandbox.hint.com/api
  description: Sandbox
security:
- BearerAuth: []
tags:
- name: PaymentMethod
paths:
  /provider/patients/{patient_id}/payment_methods:
    post:
      tags:
      - PaymentMethod
      operationId: PaymentMethod.CreatePaymentMethod
      summary: Create Payment Method
      description: 'Exactly one of `rainforest_id` or `stripe_id` must be provided. Practices on Hint Payments

        (Rainforest) submit a `rainforest_id`; practices on Stripe submit a `stripe_id`.'
      parameters:
      - name: patient_id
        in: path
        required: true
        description: Unique Patient ID
        schema:
          type: string
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              example:
                id: bnk-ab12C345DeF6
                default: true
                last_four: '4242'
                name: Bank of America NA
                type: bank_account
                bank_account:
                  id: bnk-ab12C345DeF6
                  last_four: '4242'
                  name: Bank of America NA
                  stripe_token: tok_1234
                  type: BankAccount
                card: null
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Provider.Patients.PaymentMethodsController.create_body'
    get:
      tags:
      - PaymentMethod
      operationId: PaymentMethod.ListAllPaymentMethods
      summary: List All Payment Methods
      description: ''
      parameters:
      - name: patient_id
        in: path
        required: true
        description: Unique Patient ID
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
              - id: card-ab12C345DeF6
                default: false
                last_four: '4242'
                name: Visa
                type: card
                bank_account: null
                card:
                  id: card-ab12C345DeF6
                  card_type: visa
                  last_four: '4242'
                  name: Visa
                  type: Card
                  exp_month: 7
                  exp_year: 2017
              - id: card-ab12C345DeF6
                default: false
                last_four: '4242'
                name: Visa
                type: card
                bank_account: null
                card:
                  id: card-ab12C345DeF6
                  card_type: visa
                  last_four: '4242'
                  name: Visa
                  type: Card
                  exp_month: 7
                  exp_year: 2017
              - id: bnk-ab12C345DeF6
                default: true
                last_four: '4242'
                name: Bank of America NA
                type: bank_account
                bank_account:
                  id: bnk-ab12C345DeF6
                  last_four: '4242'
                  name: Bank of America NA
                  stripe_token: tok_1234
                  type: BankAccount
                card: null
  /provider/patients/{patient_id}/payment_methods/setup:
    post:
      tags:
      - PaymentMethod
      operationId: PaymentMethod.CreateSetupIntent
      summary: Create Setup Intent
      description: 'The response shape depends on the practice''s payment processor (`payment_processor` in the response):

        - When `rainforest`: `payment_method_config_id`, `session_key`, and `allowed_methods` are returned.

        - When `stripe`: `stripe_client_secret` is returned instead.

        The example below shows the `rainforest` variant.'
      parameters:
      - name: patient_id
        in: path
        required: true
        description: Unique Patient ID
        schema:
          type: string
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              example:
                payment_processor: rainforest
                payment_method_config_id: pmc_1234567890
                session_key: skey_1234
                allowed_methods: ACH,CARD
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Provider.Patients.PaymentMethods.SetupController.create_body'
  /provider/patients/{patient_id}/payment_methods/{id}:
    delete:
      tags:
      - PaymentMethod
      operationId: PaymentMethod.DeletePaymentMethod
      summary: Delete Payment Method
      description: ''
      parameters:
      - name: patient_id
        in: path
        required: true
        description: Unique Patient ID
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: Unique Payment Method ID
        schema:
          type: string
      responses:
        '204':
          description: No content
    get:
      tags:
      - PaymentMethod
      operationId: PaymentMethod.ShowPaymentMethod
      summary: Show Payment Method
      description: ''
      parameters:
      - name: patient_id
        in: path
        required: true
        description: Unique Patient ID
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: Unique Payment Method ID
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                id: bnk-ab12C345DeF6
                default: true
                last_four: '4242'
                name: Bank of America NA
                type: bank_account
                bank_account:
                  id: bnk-ab12C345DeF6
                  last_four: '4242'
                  name: Bank of America NA
                  stripe_token: tok_1234
                  type: BankAccount
                card: null
components:
  schemas:
    Provider.Patients.PaymentMethodsController.create_body:
      type: object
      properties:
        rainforest_id:
          type: string
          description: Tokenized payment method id from Rainforest. Required if the practice uses Hint Payments.
        stripe_id:
          type: string
          description: Tokenized payment method id from Stripe. Required if the practice uses Stripe.
    Provider.Patients.PaymentMethods.SetupController.create_body:
      type: object
      properties:
        user_is_owner:
          type: boolean
        accepts_bank:
          type: boolean
      required:
      - user_is_owner
      - accepts_bank
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Practice access token or Partner API key (Bearer authentication)