Skip to main content
Glama
payment-options.md9.45 kB
# Payment Options API Reference Payment options configure how clients can pay invoices and estimates, including credit cards, ACH, PayPal, and other payment gateways. ## paymentoptions_single Get payment options configured for a specific invoice or estimate. ### Description Retrieve the payment configuration for an invoice or estimate, showing which payment methods are enabled. **When to use:** - User wants to see what payment methods are available for an invoice - User asks "how can this invoice be paid", "what payment options are enabled" - Need to check payment gateway configuration for a specific entity - Verifying payment setup before sharing invoice ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | entityId | number | Yes | Invoice or estimate ID | | entityType | string | Yes | Type of entity ("invoice" or "estimate") | ### Input Example ```json { "accountId": "ABC123", "entityId": 98765, "entityType": "invoice" } ``` ### Output Schema | Field | Type | Description | |-------|------|-------------| | id | number | Payment options ID | | entityId | number | Associated invoice or estimate ID | | entityType | string | Entity type (invoice or estimate) | | gateway | string | Payment gateway name (e.g., stripe, paypal) | | hasCreditCard | boolean | Whether credit card payments are enabled | | hasAch | boolean | Whether ACH/bank transfer is enabled | | hasPaypalSmartCheckout | boolean | Whether PayPal Smart Checkout is enabled | | allowPartialPayments | boolean | Whether partial payments are allowed | | gatewayInfo | object | Gateway-specific configuration | ### Output Example ```json { "id": 456, "entityId": 98765, "entityType": "invoice", "gateway": "stripe", "hasCreditCard": true, "hasAch": true, "hasPaypalSmartCheckout": false, "allowPartialPayments": true, "gatewayInfo": { "gateway": "stripe", "gatewayId": "acct_1234567890" } } ``` ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid entityId | No | Check ID is a positive integer | | -32602 | Invalid entityType | No | Use "invoice" or "estimate" | | -32005 | Entity not found | No | Verify invoice/estimate exists | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [invoice_single](./invoices.md#invoice_single) - Get invoice details - [paymentoptions_create](#paymentoptions_create) - Configure payment options - [paymentoptions_default](#paymentoptions_default) - Get default settings --- ## paymentoptions_create Configure payment options for an invoice or estimate. ### Description Set up payment methods for an invoice or estimate, enabling specific gateways and features. **When to use:** - User wants to enable specific payment methods for an invoice - User says "enable credit card payments", "allow ACH for this invoice" - Need to set up payment gateway configuration - Customizing payment options for specific invoices ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | entityId | number | Yes | Invoice or estimate ID | | entityType | string | Yes | Type of entity ("invoice" or "estimate") | | gateway | string | No | Payment gateway to use (e.g., stripe, paypal) | | hasCreditCard | boolean | No | Enable credit card payments | | hasAch | boolean | No | Enable ACH/bank transfer | | hasPaypalSmartCheckout | boolean | No | Enable PayPal Smart Checkout | | allowPartialPayments | boolean | No | Allow customers to pay in installments | ### Input Example ```json { "accountId": "ABC123", "entityId": 98765, "entityType": "invoice", "gateway": "stripe", "hasCreditCard": true, "hasAch": true, "allowPartialPayments": true } ``` ### Output Schema Returns the created PaymentOptions object (see [paymentoptions_single](#output-schema) for schema). ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid entityId | No | Check ID is a positive integer | | -32602 | Invalid entityType | No | Use "invoice" or "estimate" | | -32602 | Invalid gateway | No | Use supported gateway name | | -32005 | Entity not found | No | Verify invoice/estimate exists | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [invoice_create](./invoices.md#invoice_create) - Create invoice first - [paymentoptions_single](#paymentoptions_single) - View configured options - [paymentoptions_default](#paymentoptions_default) - Check default settings --- ## paymentoptions_default Get default payment options for the account. ### Description Retrieve account-level default payment settings that apply to new invoices and estimates. **When to use:** - User wants to see account-level payment settings - User asks "what payment methods are enabled by default" - Need to check default gateway configuration - Planning to create invoices and need default payment setup ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | ### Input Example ```json { "accountId": "ABC123" } ``` ### Output Schema | Field | Type | Description | |-------|------|-------------| | gateway | string | Default payment gateway | | hasCreditCard | boolean | Credit cards enabled by default | | hasAch | boolean | ACH enabled by default | | hasPaypalSmartCheckout | boolean | PayPal enabled by default | | allowPartialPayments | boolean | Partial payments allowed by default | ### Output Example ```json { "gateway": "stripe", "hasCreditCard": true, "hasAch": true, "hasPaypalSmartCheckout": false, "allowPartialPayments": true } ``` ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid accountId format | No | Check account ID is valid | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [paymentoptions_single](#paymentoptions_single) - Get entity-specific options - [paymentoptions_create](#paymentoptions_create) - Customize for specific invoice - [invoice_list](./invoices.md#invoice_list) - Find invoices --- ## Notes ### Supported Payment Gateways FreshBooks supports multiple payment gateways: | Gateway | Identifier | Features | |---------|------------|----------| | Stripe | `stripe` | Credit cards, ACH, international payments | | PayPal | `paypal` | PayPal accounts, credit cards via PayPal | | Square | `square` | Credit cards, mobile payments | | Authorize.Net | `authorize_net` | Credit cards, eChecks | | WePay | `wepay` | Credit cards, bank accounts | ### Payment Method Types **Credit Card (`hasCreditCard`)** - Visa, MasterCard, American Express, Discover - Immediate payment processing - Typical 2.9% + $0.30 processing fee **ACH/Bank Transfer (`hasAch`)** - Direct bank account debits - Lower processing fees (typically 0.8%) - Takes 3-5 business days to clear **PayPal Smart Checkout (`hasPaypalSmartCheckout`)** - PayPal account payments - Guest checkout with credit cards - PayPal branded checkout experience ### Partial Payments When `allowPartialPayments` is enabled: - Clients can pay any amount toward invoice - Multiple payments tracked until invoice paid in full - Useful for payment plans or large invoices - Remaining balance displayed on invoice ### Entity Types Payment options can be configured for: - **Invoices** - Sent to clients for payment - **Estimates** - Quotes that can be converted to invoices ### Default vs Custom Settings - **Default options** - Apply to all new invoices/estimates - **Custom options** - Override defaults for specific entities - Custom settings created with `paymentoptions_create` - Check defaults with `paymentoptions_default` ### Gateway Setup Before enabling payment methods: 1. Connect payment gateway in FreshBooks settings 2. Complete gateway verification process 3. Configure gateway-specific settings 4. Test with small transaction ### Security All payment processing uses: - PCI-compliant gateways - Encrypted data transmission - Secure tokenization - No sensitive card data stored in FreshBooks ### Best Practices 1. **Enable multiple options** - Give clients payment flexibility 2. **Test before launch** - Verify gateway connection works 3. **Consider fees** - Different methods have different costs 4. **International clients** - Enable appropriate payment methods 5. **Clear communication** - Inform clients of available payment methods ### Processing Fees Payment gateway fees vary by: - Payment method (card vs ACH) - Transaction volume - Gateway provider - International vs domestic Check your gateway settings in FreshBooks for specific fee structures. ### Troubleshooting **Credit cards not working:** - Verify gateway connection is active - Check gateway credentials are current - Ensure account is in good standing **ACH unavailable:** - Confirm ACH is supported by your gateway - Verify business verification completed - Check if available in your country **PayPal issues:** - Ensure PayPal business account connected - Check PayPal account is verified - Review PayPal-specific settings

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Good-Samaritan-Software-LLC/freshbooks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server