SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
invoicing

Refund a recorded payment. If an approval policy matches, responds 202 with { pending_approval: true, approval_instance_id, approval_status_url, message }; poll GET /approvals/:id.

Refund a recorded payment. If an approval policy matches, responds 202 with { pending_approval: true, approval_instance_id, approval_status_url, message }; poll GET /approvals/:id.

POSThttps://staging.softsolz.uk/api/v1/services/invoicing/refunds

Recent Requests

Log in to see full request history
TimeStatusUser Agent
Make a request to see history.

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

invoice_idinteger

Invoice the payment was applied to.

customer_payment_idinteger

Payment to refund (from invoice detail payments[].id).

amountnumber | string

Refund amount in major units (> 0, max 2 decimal places, <= refundable balance; numeric strings accepted).

currencystring

Defaults to the payment/invoice currency.

methodstring

Refund method (free-text; default "manual").

reasonstring | null

Optional reason.

Response

Response Body

idintegerRefund id.
invoice_idintegerInvoice id.
customer_payment_idintegerRefunded payment id.
amountstringRefund amount, numeric string.
statusstringRefund status.

Request

import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.invoicing.createRefund({});
console.log(result);

Credentials

Sent as a Bearer token. Stored only in your browser.

Response · 201

{
"data": {
"id": 0,
"invoice_id": 0,
"customer_payment_id": 0,
"amount": "string",
"status": "string"
}
}