Businesses
- Business
- Financial Accounts
- Documents
- Scoped Authentication
- Configuration
- Tasks & Notifications
Financial Activity
- Accounts Receivable
- Customers
- Invoices
- Invoice Payments
- Payouts
- Refunds
- Write Offs
- Customer Credits
- Accounts Payable
- Bank Transactions
- General Ledger
- Tags
Accounting Reports
- Profit and Loss
- Balance Sheet
- Cash Flow Statement
Platform Configuration
- Accounting
- Plaid
- SMS
- Quickbooks
Activity Metrics
- Platform wide activity
- Business Activity
Quickbooks
- Configure Quickbooks
- Sync Quickbooks
- Quickbooks Ledger
Create refund
Creates a new refund for a business or updates existing refund. This endpoint is idempotent using the external_id
field as the idempotency key, so subsequent requests with the same external_id
will update or no-op.
curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/invoices/refunds \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"external_id": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_external_id": "<string>",
"invoice_line_item_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_line_item_external_id": "<string>",
"invoice_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_payment_external_id": "<string>",
"refund_processing_fee": 0,
"method": "CASH",
"processor": "STRIPE",
"tags": [
{
"key": "Location",
"value": "MainStreet"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}'
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"refunded_amount": 123,
"status": "PAID",
"completed_at": "2023-11-07T05:31:56Z",
"is_dedicated": true,
"allocations": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"account_identifier": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"invoice_external_id": "<string>",
"invoice_line_item_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_line_item_external_id": "<string>",
"invoice_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_payment_external_id": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
]
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"refunded_amount": 123,
"fee": 123,
"completed_at": "2023-11-07T05:31:56Z",
"method": "CREDIT_CARD",
"processor": "STRIPE",
"refunded_payment_fees": [
{
"account": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"description": "<string>",
"fee_amount": 123
}
],
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"payouts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "payout-1234",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"paid_out_amount": 123,
"fee": 123,
"processor": "STRIPE",
"imported_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"match": {
"id": "6b0a3734-f4ef-4fb0-9fc1-3f59b0c1cf99",
"match_type": "PAYOUT",
"bank_transaction": {
"type": "Bank_Transaction_Data",
"id": "a703c8d6-cfe8-453d-a275-b92eacc6fc6e",
"business_id": "738ec216-e8e5-48f2-b7f2-cdc89c96b3d4",
"source": "STRIPE",
"source_transaction_id": "trxn_1sdOeLQiFAKE2LQBkcvrJw95f",
"source_account_id": "738ec216-e154-48f2-1111-cdc89c96b3d4",
"imported_at": "2024-03-19T22:09:53.290591Z",
"date": "2024-03-06T06:06:40Z",
"direction": "CREDIT",
"amount": 87459,
"counterparty_name": null,
"description": "Payout (po_1OqnTHISISFAKEiTVBkCiyAERwm)",
"account_name": "Layer Banking",
"categorization_status": "MATCHED"
},
"details": {
"type": "Payout_Match",
"id": "d224508b-b05e-41da-89de-0fbd8a573507",
"amount": 87459,
"date": "2024-03-06T00:00:00Z",
"description": "Payout from STRIPE",
"adjustment": null
}
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Headers
Content-Type must be set to application/json
Path Parameters
The UUID of the business to create a refund for.
Body
Simple refund creation parameters. The system will automatically calculate the refund amount based on the specified target (invoice, line item, or payment). At least one target identifier must be provided.
Simple refund creation parameters. The system will automatically calculate the refund amount based on the specified target (invoice, line item, or payment). At least one target identifier must be provided.
Itemized refund creation parameters. Provides full control over refund allocations and payments. The sum of allocation amounts must equal the refunded_amount.
Response
Refund has been successfully updated or unchanged.
A refund represents a transaction that returns value to from a business to a customer. A specific payment can be refunded or a general refund can be applied to an invoice.
curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/invoices/refunds \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"external_id": "<string>",
"completed_at": "2023-11-07T05:31:56Z",
"invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_external_id": "<string>",
"invoice_line_item_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_line_item_external_id": "<string>",
"invoice_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_payment_external_id": "<string>",
"refund_processing_fee": 0,
"method": "CASH",
"processor": "STRIPE",
"tags": [
{
"key": "Location",
"value": "MainStreet"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}'
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"refunded_amount": 123,
"status": "PAID",
"completed_at": "2023-11-07T05:31:56Z",
"is_dedicated": true,
"allocations": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"account_identifier": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"invoice_external_id": "<string>",
"invoice_line_item_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_line_item_external_id": "<string>",
"invoice_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"invoice_payment_external_id": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
]
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"refunded_amount": 123,
"fee": 123,
"completed_at": "2023-11-07T05:31:56Z",
"method": "CREDIT_CARD",
"processor": "STRIPE",
"refunded_payment_fees": [
{
"account": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"description": "<string>",
"fee_amount": 123
}
],
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"payouts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "payout-1234",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"paid_out_amount": 123,
"fee": 123,
"processor": "STRIPE",
"imported_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"match": {
"id": "6b0a3734-f4ef-4fb0-9fc1-3f59b0c1cf99",
"match_type": "PAYOUT",
"bank_transaction": {
"type": "Bank_Transaction_Data",
"id": "a703c8d6-cfe8-453d-a275-b92eacc6fc6e",
"business_id": "738ec216-e8e5-48f2-b7f2-cdc89c96b3d4",
"source": "STRIPE",
"source_transaction_id": "trxn_1sdOeLQiFAKE2LQBkcvrJw95f",
"source_account_id": "738ec216-e154-48f2-1111-cdc89c96b3d4",
"imported_at": "2024-03-19T22:09:53.290591Z",
"date": "2024-03-06T06:06:40Z",
"direction": "CREDIT",
"amount": 87459,
"counterparty_name": null,
"description": "Payout (po_1OqnTHISISFAKEiTVBkCiyAERwm)",
"account_name": "Layer Banking",
"categorization_status": "MATCHED"
},
"details": {
"type": "Payout_Match",
"id": "d224508b-b05e-41da-89de-0fbd8a573507",
"amount": 87459,
"date": "2024-03-06T00:00:00Z",
"description": "Payout from STRIPE",
"adjustment": null
}
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}
],
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 10kb",
"nested": {
"meaning of life": 42,
"array": []
}
}
}