---
title: JustiFi API Integration on Truto
slug: justify
category: Payment Gateway
canonical: "https://truto.one/integrations/detail/justify/"
---

# JustiFi API Integration on Truto



**Category:** Payment Gateway  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 90 tools for JustiFi that AI agents can call directly.

- **list_all_justi_fi_sub_accounts** — List sub accounts for your JustiFi platform. Returns each sub account with its id, name, account_type, status, currency, platform_account_id, related_accounts, created_at, and updated_at. By default only non-archived accounts are returned; set status to `archived` to include them.
- **create_a_justi_fi_sub_account** — Create a sub account for a customer in JustiFi so they can process payments once approved. Returns the created sub account including id, name, account_type, status, related_accounts, created_at, and updated_at. This endpoint is deprecated — new platforms should use Hosted Onboarding or Onboarding via API instead. Required: name.
- **get_single_justi_fi_sub_account_by_id** — Get a single JustiFi sub account by id. Returns the full sub account object including id, name, account_type, status, currency, platform_account_id, related_accounts, created_at, and updated_at. Required: id.
- **list_all_justi_fi_sub_account_payout_accounts** — Get the currently active payout bank account for a JustiFi sub account. Returns: id, full_name, bank_name, account_number_last4, routing_number, country, currency, nickname, account_type. Required: sub_account_id.
- **list_all_justi_fi_sub_account_settings** — Get JustiFi sub account settings for a specific sub account, including payment processing feature flags and payout configuration. Returns: payments, payouts. Required: sub_account_id.
- **list_all_justi_fi_sub_account_fee_configurations** — List all active Standard Fee Configurations for a JustiFi sub account, returning only configurations where the current time is between effective_start and effective_end. Returns: id, account_id, platform_account_id, fee_type, variable_rate, transaction_fee_cents, transaction_fee_currency, fee_cap_cents, effective_start, effective_end. Required: sub_account_id.
- **create_a_justi_fi_sub_account_fee_configuration** — Create a Standard Fee Configuration for a specific fee type on a JustiFi sub account. Creating a new configuration for an existing fee type automatically retires the previous one by setting its effective_end. There is no update or delete operation. Returns: id, account_id, platform_account_id, fee_type, variable_rate, transaction_fee_cents, transaction_fee_currency, fee_cap_cents,…. Required: sub_account_id, fee_type, variable_rate.
- **get_single_justi_fi_sub_account_fee_configuration_by_id** — Get the active Standard Fee Configuration for a specific fee type on a JustiFi sub account. Returns 404 if no active configuration exists for that fee type. Returns: id, account_id, platform_account_id, fee_type, variable_rate, transaction_fee_cents, transaction_fee_currency, fee_cap_cents, effective_start, effective_end. Required: id, sub_account_id.
- **list_all_justi_fi_fee_configurations_scheduleds** — List scheduled Standard Fee Configurations for a JustiFi sub account that have a future effective_start and haven't taken effect yet. Returns: id, account_id, platform_account_id, fee_type, variable_rate, transaction_fee_cents, transaction_fee_currency, fee_cap_cents, effective_start, effective_end. Required: sub_account_id.
- **list_all_justi_fi_fee_configuration_histories** — List fee configuration history for a specific fee type on a JustiFi sub account, including active, retired, and scheduled configurations ordered by effective_start descending. Returns: id, account_id, platform_account_id, fee_type, variable_rate, transaction_fee_cents, transaction_fee_currency, fee_cap_cents, effective_start, effective_end. Required: sub_account_id, fee_type.
- **list_all_justi_fi_proceeds** — List proceeds payouts for your JustiFi account. Returns: id, fees, created_at, updated_at, deposits_at. Supports filtering by created and deposit date ranges.
- **get_single_justi_fi_proceed_by_id** — Get a single proceeds payout in JustiFi by id. Returns: id, fees, created_at, updated_at, deposits_at. Required: id.
- **get_single_justi_fi_reports_proceed_by_id** — Get a Proceeds Report in JustiFi, returning download links for both the CSV and JSON report files. Returns: id, csv_url, report_url. This endpoint is deprecated; use the Reports API instead. Required: id.
- **list_all_justi_fi_payments** — List JustiFi payments for your account, filterable by payment status, date range, payment method, or void. Returns: id, account_id, amount, amount_refundable, amount_refunded, amount_disputed, amount_returned, balance, currency, status, capture_strategy, captured, payment_mode, description, payment_intent_id, checkout_id, terminal_id, application_fee_rate_id, fee_amount, financial_transaction_id,…
- **create_a_justi_fi_payment** — Create a JustiFi payment by charging a tokenized payment method. Payment methods must be tokenized beforehand via the JustiFi Web Component. Returns: id, account_id, amount, amount_refundable, amount_refunded, amount_disputed, amount_returned, balance, currency, status, capture_strategy, captured, payment_mode, description, payment_intent_id, checkout_id, terminal_id, application_fee_rate_id,…. Required: amount, currency, capture_strategy, payment_method.
- **get_single_justi_fi_payment_by_id** — Get a JustiFi payment by id. Returns the full payment object including id, amount, currency, status, payment_method, fees, application_fee, transaction_hold, refunds, and disputes. Required: id.
- **update_a_justi_fi_payment_by_id** — Update a JustiFi payment's description or metadata by id. Returns the updated payment object including id, amount, currency, status, payment_method, application_fee, refunds, and disputes. Required: id.
- **create_a_justi_fi_payment_capture** — Capture a previously authorized payment in JustiFi. Returns the full payment object including id, account_id, amount, captured, status, currency, created_at, payment_method, application_fee, and transaction_hold. Returns a payment_already_captured error if already captured; authorized payments are canceled after 7 days if not captured. Required: payment_id.
- **create_a_justi_fi_payment_refund** — Issue a full or partial refund for a JustiFi payment. Multiple partial refunds are supported up to the full payment amount. Returns the created refund including id, payment_id, amount, reason, status, returned_fees, created_at, and updated_at. Required: payment_id.
- **create_a_justi_fi_payment_void** — Void a JustiFi payment to cancel it before settlement. Returns the voided payment object including id, account_id, amount, status, capture_strategy, payment_method, and application_fee. Payments are voidable within 25 minutes of the original transaction; authorized payments with manual capture_strategy that have not yet been captured are also eligible. Required: payment_id.
- **list_all_justi_fi_payment_payment_balance_transactions** — List payment balance transactions associated with a specific payment in JustiFi. Returns: id, amount, balance, currency, financial_transaction_id, payment_id, payment_balance_txn_type, source_id, source_type, created_at, updated_at, account_id, amount_disputed, amount_refunded, amount_returned, amount_refundable, application_fee_rate_id, capture_strategy, captured, disputed, fee_amount, is_test,…. Required: payment_id.
- **list_all_justi_fi_payment_methods** — List JustiFi payment methods for your account, filterable by customer, payment method group, and creation date range. Returns: id, signature, customer_id, account_id, status, invalid_reason, created_at, updated_at, card, bank_account, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, currency, disputed,…
- **create_a_justi_fi_payment_method** — Create a JustiFi payment method from raw card or bank account details. Returns: id, signature, customer_id, account_id, status, invalid_reason, created_at, updated_at, card, bank_account, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, currency, disputed, fee_amount, financial_transaction_id, is_test,…. Required: payment_method.
- **get_single_justi_fi_payment_method_by_id** — Get a payment method by id in JustiFi. Returns: id, type, data, page_info. bin_details may be null for card payment methods depending on card network and issuer availability. Required: id.
- **update_a_justi_fi_payment_method_by_id** — Update a JustiFi payment method's expiration date, address, or metadata. Returns the payment method object including id, type, data (containing card or bank_account details, status, created_at, and metadata), and page_info. Required: id.
- **justi_fi_payment_methods_clone** — Clone a JustiFi payment method from one sub account to another sub account. Returns: signature, customer_id, account_id, status, invalid_reason, created_at, updated_at, card, bank_account, card_present, id, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, currency, disputed, fee_amount,…. Required: token.
- **list_all_justi_fi_payment_method_groups** — List payment method groups associated with an account in JustiFi. Returns: id, account_id, platform_account_id, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, created_at, currency, disputed, fee_amount, financial_transaction_id, is_test, metadata, payment_intent_id, checkout_id, refunded, returned,…
- **create_a_justi_fi_payment_method_group** — Create a payment method group in JustiFi. Groups can be created ahead of time and payment methods associated later via update. Returns: id, account_id, platform_account_id, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, created_at, currency, disputed, fee_amount, financial_transaction_id, is_test,…
- **get_single_justi_fi_payment_method_group_by_id** — Get a single payment method group by id in JustiFi. Returns: id, account_id, platform_account_id, amount_disputed, amount_refunded, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, created_at, currency, disputed, fee_amount, financial_transaction_id, is_test, metadata, payment_intent_id, checkout_id, refunded, returned, status,…. Required: id.
- **update_a_justi_fi_payment_method_group_by_id** — Update a payment method group in JustiFi to associate payment methods with the group. Returns: id, account_id, platform_account_id, amount_refunded, amount_disputed, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, created_at, currency, disputed, fee_amount, financial_transaction_id, is_test, metadata, payment_intent_id, checkout_id,…. Required: id.
- **delete_a_justi_fi_payment_method_group_payment_method_by_id** — Remove a payment method from a payment method group in JustiFi. Returns an empty 200 response on success. Required: id, payment_method_group_id.
- **list_all_justi_fi_payouts** — List payouts in JustiFi with optional creation and deposit date filters. Returns: id, account_id, amount, bank_account, currency, delivery_method, description, deposits_at, fees_total, refunds_count, refunds_total, payments_count, payments_total, payout_type, other_total, status, settlement_priority, metadata, created_at, updated_at.
- **get_single_justi_fi_payout_by_id** — Get a single payout by id in JustiFi. Returns: id, account_id, amount, bank_account, currency, delivery_method, description, deposits_at, fees_total, refunds_count, refunds_total, payments_count, payments_total, payout_type, other_total, status, settlement_priority, metadata, created_at, updated_at. Required: id.
- **update_a_justi_fi_payout_by_id** — Update a payout's metadata in JustiFi; previous metadata is overwritten. Returns: id, account_id, amount, bank_account, currency, delivery_method, description, deposits_at, fees_total, refunds_count, refunds_total, payments_count, payments_total, payout_type, other_total, status, settlement_priority, metadata, created_at, updated_at. Required: id.
- **get_single_justi_fi_reports_payout_by_id** — Get a signed download link for a payout CSV report from JustiFi by payout id. Returns: id, csv_url. This endpoint is deprecated; use the Reports API instead. Required: id.
- **list_all_justi_fi_payout_holds** — List payout holds that belong to the account in JustiFi. Returns: id, account_id, hold_type, issued_by, start_date, end_date, active, created_at, updated_at. Supports filtering by created, start, and end date ranges.
- **get_single_justi_fi_payout_hold_by_id** — Get a specific payout hold by id in JustiFi. Returns: id, account_id, hold_type, issued_by, start_date, end_date, active, created_at, updated_at. Required: id.
- **list_all_justi_fi_balance_transactions** — List JustiFi balance transactions for an account. Returns: id, account_id, amount, available_on, currency, description, fee, financial_transaction_id, net, payout_id, source_id, source_type, source_payment_id, txn_type, created_at, updated_at. Filter by payout_id or source_payment_id. Limited to a single sub account or payout.
- **get_single_justi_fi_balance_transaction_by_id** — Get a JustiFi balance transaction by id. Returns: id, account_id, amount, available_on, currency, description, fee, financial_transaction_id, net, payout_id, source_id, source_type, source_payment_id, txn_type, created_at, updated_at. Required: id.
- **list_all_justi_fi_refunds** — List refunds for your JustiFi account. Returns each refund with id, payment_id, amount, status, reason, description, metadata, returned_fees, created_at, and updated_at.
- **get_single_justi_fi_refund_by_id** — Get a single JustiFi refund by id. Returns: id, payment_id, amount, description, reason, status, metadata, returned_fees, created_at, updated_at. Required: id.
- **update_a_justi_fi_refund_by_id** — Update the metadata of a JustiFi refund by id. When you update metadata, any previous metadata will be overwritten. Returns the updated refund object including id, payment_id, amount, status, metadata, and returned_fees. Required: id.
- **create_a_justi_fi_oauth_token** — Generate an access token in Justifi by posting your client credentials. Returns: access_token. The token is valid for 24 hours and is intended for backend-to-backend calls only.
- **list_all_justi_fi_disputes** — List JustiFi disputes. Returns: id, payment_id, account_id, amount, currency, reason, due_date, status, metadata, created_at, updated_at, dispute_response, dispute_reversal. Disputes associated with a payment are also included in payment responses.
- **get_single_justi_fi_dispute_by_id** — Get a single JustiFi dispute by id. Returns: id, payment_id, account_id, amount, currency, reason, due_date, status, metadata, created_at, updated_at, dispute_response, dispute_reversal. Required: id.
- **update_a_justi_fi_dispute_by_id** — Update a JustiFi dispute's metadata by id. Updating metadata overwrites any previous metadata. Returns the updated dispute with id, payment_id, account_id, amount, currency, reason, status, due_date, created_at, updated_at. Required: id.
- **justi_fi_dispute_evidences_bulk_update** — Create dispute evidence for a JustiFi dispute and generate a presigned upload URL. Returns: id, file_name, file_type, dispute_evidence_type, status, description, presigned_url, account_id, amount_refunded, amount_disputed, amount_returned, amount, amount_refundable, application_fee_rate_id, balance, capture_strategy, captured, created_at, currency, disputed, fee_amount, financial_transaction_id,…. Required: id, file_name, file_type, dispute_evidence_type.
- **create_a_justi_fi_dispute_response** — Submit a dispute response in JustiFi, either contesting the dispute with evidence or forfeiting it. Returns the updated dispute object including id, payment_id, account_id, amount, currency, reason, status, due_date, created_at, updated_at, dispute_response, and dispute_reversal. Not available for Canada accounts. Required: dispute_id, forfeit.
- **justi_fi_dispute_responses_bulk_update** — Update an existing dispute response in JustiFi with revised evidence fields. Returns the dispute response object including additional_statement, customer_name, customer_email_address, product_description, service_date, shipping_address, and shipping_tracking_number. Not available for Canada accounts. Required: id.
- **create_a_justi_fi_insurance_bind** — Bind an insurance policy with a JustiFi insurance partner. Returns: id, account_id, amount, currency, partner_name, partner_quote_id, metadata, status, created_at, updated_at, fee_amount, fees. Required: payment_method_id, amount, partner_quote_id, partner_name.
- **list_all_justi_fi_entities_busineses** — List businesses for your platform in JustiFi, optionally filtered by name. Returns: id, platform_account_id, archived, legal_name, website_url, email, phone, doing_business_as, business_type, business_structure, classification, industry, mcc, tax_id, tax_id_last4, date_of_incorporation, country_of_establishment, terms_conditions_accepted, metadata, associated_accounts, legal_address,…
- **create_a_justi_fi_entities_businesis** — Create a new business entity in JustiFi. Returns the created business including id, platform_account_id, legal_name, email, classification, created_at, legal_address, representative, owners, and bank_accounts. Up to four owners supported; business_type and business_structure are deprecated in favor of classification.
- **get_single_justi_fi_entities_businesis_by_id** — Get a single business in JustiFi by id. Returns the full business object including id, platform_account_id, legal_name, business_type, classification, industry, mcc, legal_address, representative, owners, bank_accounts, documents, and created_at. Required: id.
- **update_a_justi_fi_entities_businesis_by_id** — Update a business in JustiFi by id. Returns the updated business object including id, platform_account_id, legal_name, business_type, classification, industry, mcc, legal_address, representative, owners, bank_accounts, documents, and created_at. Required: id.
- **list_all_justi_fi_entities_identities** — List identities for your platform in JustiFi. Returns each identity record including id, name, email, is_owner, ownership_percentage, ssn_last4, address, documents, created_at, and updated_at. Supports pagination.
- **create_a_justi_fi_entities_identity** — Create a new identity in JustiFi with legal name, contact details, date of birth, ownership, and optional address. Returns the created identity object including id, name, email, is_owner, ownership_percentage, ssn_last4, address, documents, created_at, and updated_at.
- **get_single_justi_fi_entities_identity_by_id** — Get a single identity by id in JustiFi. Returns the full identity object including id, name, email, phone, is_owner, ownership_percentage, ssn_last4, address, documents, created_at, and updated_at. Required: id.
- **update_a_justi_fi_entities_identity_by_id** — Update an existing identity in JustiFi by id. Returns the updated identity object including id, name, email, is_owner, ownership_percentage, ssn_last4, address, documents, created_at, and updated_at. Required: id.
- **list_all_justi_fi_entities_addreses** — List addresses for your platform in JustiFi. Returns each address with id, line1, line2, city, state, postal_code, country, created_at, and updated_at. This endpoint supports pagination.
- **create_a_justi_fi_entities_addrese** — Create a new address in JustiFi. Returns the created address object including id, line1, city, state, postal_code, country, created_at, and updated_at.
- **get_single_justi_fi_entities_addrese_by_id** — Get a single address by id in JustiFi. Returns the address object including id, line1, city, state, postal_code, country, created_at, and updated_at. Required: id.
- **update_a_justi_fi_entities_addrese_by_id** — Update an address by id in JustiFi. Returns the updated address object including id, line1, city, state, postal_code, country, created_at, and updated_at. Required: id.
- **list_all_justi_fi_entities_documents** — List documents uploaded to JustiFi. Returns each document's id, description, file_name, file_type, document_type, business_id, identity_id, presigned_url, metadata, status, created_at, and updated_at.
- **create_a_justi_fi_entities_document** — Create a document reference in JustiFi and receive a presigned URL for uploading the file. Returns: id, type, data, page_info, description, file_name, file_type, document_type, business_id, identity_id, presigned_url, metadata, status, created_at, updated_at. One of business_id or identity_id is also required. Required: file_name, file_type, document_type.
- **get_single_justi_fi_entities_document_by_id** — Get a single document in JustiFi by id, including a presigned download URL. Returns: id, type, data, page_info, description, created_at, updated_at. Required: id.
- **list_all_justi_fi_entities_bank_accounts** — List bank accounts for a business in JustiFi. Returns each bank account with id, account_owner_name, account_type, acct_last_four, bank_name, business_id, created_at, updated_at. Supports pagination.
- **create_a_justi_fi_entities_bank_account** — Create a bank account in JustiFi. Returns: id, type, data, page_info, account_owner_name, account_type, acct_last_four, routing_number, bank_name, country, currency, nickname, metadata, business_id, platform_account_id, created_at, updated_at. Required: account_owner_name, account_type, account_number, routing_number, business_id, bank_name.
- **get_single_justi_fi_entities_bank_account_by_id** — Get a single bank account by id in JustiFi. Returns: id, type, data, page_info, created_at, updated_at. Required: id.
- **create_a_justi_fi_entities_terms_and_condition** — Accept current Terms and Conditions for a business in JustiFi. Returns: id, type, data, page_info, business_id, accepted, ip, user_agent. Required: business_id, accepted, ip.
- **create_a_justi_fi_entities_provisioning** — Provision a product for a business in JustiFi. Returns: id, type, data, page_info. Required: business_id, product_category.
- **get_single_justi_fi_ach_return_fee_by_id** — Get a JustiFi ACH return fee by id. ACH return fees are fees charged by financial institutions when an ACH transaction is returned. Returns: id, payment_id, amount, currency, created_at, updated_at, fee_amount, fees. Required: id.
- **create_a_justi_fi_terminals_pay** — Send a checkout to a JustiFi terminal for payment processing. Returns the created terminal session including id, session_type, status, payment_id, terminal_id, account_id, platform_account_id, and checkout_id. The payment_intent_id parameter is deprecated. Required: checkout_id, terminal_id.
- **list_all_justi_fi_terminals** — List JustiFi terminals with optional filters by status, terminal id, provider id, terminal order id, and verification dates. Returns: id, account_id, platform_account_id, provider, status, provider_id, provider_serial_number, nickname, verified_at, model_name, terminal_order_created_at, status_last_requested_at, created_at, updated_at.
- **get_single_justi_fi_terminal_by_id** — Get a single JustiFi terminal by id. Returns the full terminal object including id, account_id, platform_account_id, provider, status, provider_id, provider_serial_number, nickname, verified_at, model_name, terminal_order_created_at, status_last_requested_at, created_at, and updated_at. Required: id.
- **update_a_justi_fi_terminal_by_id** — Update a JustiFi terminal's nickname by id. Returns the updated terminal object including id, account_id, platform_account_id, provider, status, provider_id, provider_serial_number, nickname, verified_at, model_name, terminal_order_created_at, status_last_requested_at, created_at, and updated_at. Required: id.
- **list_all_justi_fi_terminal_status** — Get the current status of a specific terminal in JustiFi. Returns: id, status, last_date_time_connected, last_date_time_active. Required: terminal_id.
- **create_a_justi_fi_terminal_identify** — Identify a JustiFi terminal by displaying its nickname or serial number on the terminal screen for 20 seconds. Returns an empty 204 response on success. Required: terminal_id.
- **get_single_justi_fi_terminals_order_by_id** — Get a single terminal order in JustiFi by id. Returns the terminal order including id, business_id, account_id, order_type, order_status, company_name, mcc, contact_email, contact_phone_number, line1, city, state, postal_code, created_at, updated_at, and terminals. Required: id.
- **list_all_justi_fi_terminals_orders** — List terminal orders for your JustiFi account with optional filters by order type, status, sub account, and creation date range. Returns: id, business_id, account_id, order_type, order_status, company_name, mcc, receiver_name, contact_first_name, contact_last_name, contact_email, contact_phone_number, line1, line2, city, state, postal_code, time_zone, country, shipping_tracking_reference,…
- **create_a_justi_fi_terminals_order** — Order one or more terminals from a JustiFi technology partner. Returns the created terminal order including id, business_id, account_id, order_type, order_status, and terminals. Required: business_id, sub_account_id, order_type, order_items.
- **create_a_justi_fi_web_component_token** — Create a web component token in Justifi to permission rendering a web component on your frontend. Returns: access_token, expires_in, token_type, id, amount, fee_amount, fees. The token is valid for 60 minutes.
- **list_all_justi_fi_checkouts** — List JustiFi checkouts for your account with optional filters by payment_mode, status, or payment_status. Returns: id, account_id, platform_account_id, payment_intent_id, payment_amount, payment_currency, payment_description, payment_methods, payment_method_group_id, status, mode, successful_payment_id, statement_descriptor, metadata, application_fees, payment_settings, payment, created_at,…
- **create_a_justi_fi_checkout** — Create a JustiFi checkout to initiate collection of a card, ACH, or card reader payment in a single flow. Returns: id, account_id, platform_account_id, payment_intent_id, payment_amount, payment_currency, payment_description, payment_methods, payment_method_group_id, status, mode, successful_payment_id, statement_descriptor, metadata, application_fees, payment_settings, payment, created_at,…. Required: amount, description.
- **get_single_justi_fi_checkout_by_id** — Get a single JustiFi checkout by id. Returns: id, account_id, platform_account_id, payment_intent_id, payment_amount, payment_currency, payment_description, payment_methods, payment_method_group_id, status, mode, successful_payment_id, statement_descriptor, metadata, application_fees, payment_settings, payment, created_at, updated_at, completions. Required: id.
- **update_a_justi_fi_checkout_by_id** — Update a JustiFi checkout's amount or description by id. Returns: id, account_id, platform_account_id, payment_intent_id, payment_amount, payment_currency, payment_description, payment_methods, payment_method_group_id, status, mode, successful_payment_id, statement_descriptor, metadata, application_fees, payment_settings, payment, created_at, updated_at, completions. Required: id.
- **justi_fi_checkouts_complete** — Complete a JustiFi checkout and capture a payment. Returns: id, payment_mode, payment_token, status, payment_status, payment_error_code, payment_error_description, payment_response, checkout_id, additional_transactions, checkout, payment_id, payment_method_id, terminal_id, created_at, updated_at, amount, fee_amount, fees. Required: payment_token.
- **create_a_justi_fi_checkout_refund** — Create a partial or full refund for a JustiFi checkout. Multiple partial refunds are supported up to the full payment amount. Returns: id, checkout_id, status, refund_response, refund_amount, returned_fees, created_at, updated_at, amount, fee_amount, fees. If amount is omitted the total checkout amount is refunded.
- **list_all_justi_fi_reports** — List all generated reports in JustiFi, optionally filtered by nickname. Returns: id, report_type, nickname, status, scheduled_at, run_at, created_at, error_description, account_id, presigned_url, platform_account_id.
- **create_a_justi_fi_report** — Create a report in JustiFi for any available report type (interchange_fee, proceeds, payout, sub_account_summary, payment_list). The report is queued for async generation. Returns the created report object including id, report_type, status, scheduled_at, and presigned_url.
- **get_single_justi_fi_report_by_id** — Get a single report by id in JustiFi, generating the download URL if available. Returns: id, report_type, nickname, status, scheduled_at, run_at, created_at, error_description, account_id, presigned_url, platform_account_id. Required: id.

## How it works

1. **Link your customer's JustiFi account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach JustiFi.** The Proxy API is a 1-to-1 mapping of the JustiFi API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed payments as a revenue stream for your vertical SaaS** — Turn payments into a profit center by letting your customers process transactions natively inside your product. Programmatically set per-merchant markups via sub-account fee configurations and capture platform revenue on every transaction.
- **Invisible merchant onboarding and underwriting** — Build a native KYC/KYB flow inside your app instead of redirecting users to an external portal. Collect business entities, beneficial owner identities, addresses, bank accounts, and documents, then provision sub-accounts programmatically.
- **Cloud-to-hardware POS for field service and franchise platforms** — Ship terminals to new locations and push cloud-generated checkouts directly to physical card readers. Ideal for franchise operations software, retail SaaS, and field service platforms that need to bridge software and card-present hardware.
- **Native dispute and chargeback defense** — Surface disputes inside your app so merchants never leave your product to defend a chargeback. Collect evidence in your UI and submit it to JustiFi via the dispute response and evidence endpoints, improving merchant retention on a painful workflow.
- **Automated reconciliation and payout reporting** — Pull payouts, proceeds, and balance transactions into your platform to power merchant dashboards, royalty reconciliation, and finance exports. Generate CSV reports on demand for franchise corporate teams or accounting workflows.

## What you can build

- **Native merchant onboarding wizard** — Capture business details, beneficial owners, addresses, documents, and bank accounts in your UI and provision a JustiFi sub-account end-to-end without redirects.
- **Per-merchant fee and markup engine** — Programmatically create and update sub-account fee configurations to set variable rates and fixed transaction fees, with visibility into scheduled changes and historical fee configuration versions.
- **Embedded checkout with tokenized payment methods** — Create checkouts, capture and refund payments, store tokenized cards and ACH payment methods, and group them for reuse across recurring billing scenarios.
- **Cloud POS terminal orchestration** — Order terminal hardware for new locations, list and identify devices in the field, monitor terminal status, and push checkouts directly to a specific reader for card-present payments.
- **Native dispute management console** — List and fetch disputes, alert merchants inside your app, and let them upload evidence and submit dispute responses through bulk update endpoints without ever leaving your product.
- **Payouts and proceeds reconciliation dashboard** — Surface payouts, payout holds, proceeds, refunds, and balance transactions to merchants, and generate downloadable reports for accounting and royalty reconciliation.

## FAQs

### How does authentication work for JustiFi through Truto?

JustiFi uses OAuth-style access tokens generated from client credentials. Truto handles token creation via the OAuth token endpoint, refresh, and secure storage so your team never touches raw credentials or expiry logic.

### Can we onboard merchants (sub-accounts) end-to-end via the API?

Yes. You can create business entities, identities, addresses, bank accounts, and documents, submit terms and conditions acceptance, and trigger provisioning to spin up a fully underwritten sub-account programmatically.

### Can we set custom fees and markups per merchant?

Yes. Truto exposes JustiFi's sub-account fee configuration endpoints so you can create fee configs with variable rates and transaction fee cents, retrieve scheduled changes, and audit historical fee configurations per sub-account.

### Does this support card-present payments through physical terminals?

Yes. You can order terminals, list and identify devices, check terminal status, and push a checkout directly to a specific reader using the terminal pay endpoint, enabling cloud-to-hardware POS flows.

### How do we handle disputes and chargebacks?

You can list and fetch disputes, update dispute records, bulk update evidence, and create or bulk update dispute responses. This lets you build a native chargeback defense workflow inside your product.

### What reporting and reconciliation data is available?

You can pull payments, payouts, payout holds, proceeds, refunds, and balance transactions, and generate on-demand reports (including proceeds and payout reports) for merchant dashboards and finance reconciliation.
