Bestil refusionen af en spejlet kreditnota (én ordre pr. kreditnota, for altid)
POST /creditors/{creditorId}/refund-orders
🔴 Bag et slukket flag (FORTA_PAY_REFUSIONSORDRER, tom = fra): slukket svarer ruten 404. Spor pay-refusion-f0 (rapporter/syntese-refusion.md §3, G82). Pengene går altid fra kreditorens egen konto (B1). Forudsætter trin 1: POST /invoices/{id}/credit med external_ref = source_credit_note_id (ellers 422 credit_note_not_mirrored). Pay vælger vejen pr. betaling: kort/MobilePay betalt GENNEM Pay → PSP-refund (automatisk); alt andet → kreditor betaler fra egen konto og registrerer en kvittering (.../receipt, altid fire øjne). Virkningen på fakturaen er settle_existing_credit: kun reversed_total (ingen ny kreditering). Fra kreditorens fire-øjne-grænse (refund_from, kumuleret pr. betaling) står ordren awaiting_approval med en api-refund-order-anmodning. 201 ny · 200 samme forretningsnøgle og samme request_hash.
Parametre
Idempotency-Keyheader · string (uuid) · påkrævet
Obligatorisk på alle POST/PATCH/DELETE. Lever 24 timer.
Krop · RefundOrderCreate
source_credit_note_idstring · påkrævet
Samme værdi som external_ref på trin 1 (/invoices/{id}/credit)
credit_note_customerstring · påkrævet
R-W11: kreditnotaens kunde i kilden; skal være fakturaens debitor (external_ref)
already_refunded_elsewhereallocationsarray | null · valgfri
Udeladt → Pay vælger én betaling der alene kan bære beløbet. Angivet → summen skal være præcis amount.
Svar
200Findes allerede med samme hash · RefundOrder
404Fejl (RFC 9457) · Problem
409`refund_order_conflict` (samme kreditnota, anden hash) · `refund_in_progress` · `payment_not_refundable` · `four_eyes_pending` · Problem
422`credit_note_debtor_mismatch` (R-W11) · `credit_note_not_mirrored` · `credit_note_total_mismatch` · `refund_exceeds_credit_note` · `refund_exceeds_customer_credit` · `refund_exceeds_payment` · `allocation_mismatch` · `allocation_required` · `currency_not_supported` · `reference_not_found` · `refund_psp_reference_missing` · Problem
curl
curl -X POST https://api.fortapay.dk/v1/creditors/{creditorId}/refund-orders \
-H "Authorization: Bearer $FP_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d @- <<'JSON'
{
"source": "…",
"source_credit_note_id": "…",
"credit_note_customer": "…",
"invoice": {
"id": "…"
},
"amount": {
"amount": 0
},
"credit_note_total": {
"amount": 0
}
}
JSON