Hint Health PaymentMethod API
The PaymentMethod API from Hint Health — 3 operation(s) for paymentmethod.
The PaymentMethod API from Hint Health — 3 operation(s) for paymentmethod.
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)