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://app.softsolz.uk/api/v1/services/invoicing/refunds

Recent Requests

Kept only in this browser
TimeStatusTook
Send a request with Try it to see it here.

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_idintegerrequired

Invoice the payment was applied to.

customer_payment_idintegerrequired

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

amountnumber | stringrequired

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

curl --request POST \
--url https://app.softsolz.uk/api/v1/services/invoicing/refunds \
--header 'Authorization: Bearer sk_live_your_key' \
--header 'Content-Type: application/json' \
--data '{
"invoice_id": 1001,
"customer_payment_id": 7001,
"amount": "20.00",
"currency": "GBP",
"method": "manual",
"reason": "Customer overpaid"
}'

Credentials

Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.

Response · 201

{
"data": {
"id": 4001,
"invoice_id": 1001,
"customer_payment_id": 7001,
"amount": "20.00",
"status": "issued"
}
}