Transaction details
Read the transactions you have created, including their status, fees and payments. Use these endpoints together with the webhooks to confirm a transaction's state.
Get transactions
Get transactions
curl https://sandbox-api.safepaynordic.dk/v2/transactions \
-H 'Authorization: Bearer {API_TOKEN}'
Response example
{
"items": [
{
"transactionId": "a95a1320-fce8-4838-9ff2-286501b45350",
"amount": 10000.00,
"currency": "DKK",
"status": "INPROGRESS",
"created": "2026-06-22T07:29:05.751127Z",
"referenceId": "your-reference-id",
"payee": {
"safepayAccountId": "8839c3be-64f6-4901-861a-3fd15f26596b",
"name": "Jane Doe",
"phoneNumber": "+45 87654321"
},
"payer": {
"safepayAccountId": "5e2b9d7a-1f44-4c0b-9f0e-2c1a7d3e8b10",
"name": "John Doe",
"phoneNumber": "+45 12345678"
},
"title": "Adidas Campus 00s",
"fees": {
"payee": 79.00,
"payer": 80.00,
"tenant": 159.00,
"safepay": 5.00
},
"payments": {
"inbound": {
"amount": 10080.00,
"currency": "DKK"
}
},
"expectedCompletion": null
}
],
"count": 20
}
Transactions are returned newest first. The endpoint accepts these optional query parameters:
- skip / take: Page through the results.
takedefaults to 20 and is capped at 100.countis the total number of matches, ignoringskipandtake. - search: Free-text search (case-insensitive, partial match) on the transaction id,
referenceId, title, description, and the payee's and payer's name, email and phone number. - referenceId: Filter by your
referenceId. This is a case-insensitive, partial match, soref-1also matchesref-10. CheckreferenceIdon the results if you need an exact match.
Get transaction
Get transaction
curl https://sandbox-api.safepaynordic.dk/v2/transactions/{transactionId} \
-H 'Authorization: Bearer {API_TOKEN}'
Response example
{
"transactionId": "a95a1320-fce8-4838-9ff2-286501b45350",
"status": "INPROGRESS",
"referenceId": "your-reference-id",
"amount": 10000.00,
"currency": "DKK",
"fees": {
"payee": 79.00,
"payer": 80.00,
"tenant": 159.00,
"safepay": 5.00
},
"payee": {
"amount": 9921.00,
"safepayAccountId": "8839c3be-64f6-4901-861a-3fd15f26596b",
"referenceId": "your-payee-reference-id",
"name": "Jane Doe",
"phoneNumber": "+45 87654321"
},
"payer": {
"amount": 10080.00,
"safepayAccountId": "5e2b9d7a-1f44-4c0b-9f0e-2c1a7d3e8b10",
"referenceId": "your-payer-reference-id",
"name": "John Doe",
"phoneNumber": "+45 12345678"
},
"title": "Adidas Campus 00s",
"payments": {
"inbound": {
"amount": 10080.00,
"payments": [
{
"paymentId": "3811b9da-dd5b-4834-b266-2414e76276aa",
"payer": {
"safepayAccountId": "5e2b9d7a-1f44-4c0b-9f0e-2c1a7d3e8b10",
"referenceId": "your-payer-reference-id",
"name": "John Doe",
"phoneNumber": "+45 12345678"
},
"method": "PSD2",
"amount": 10080.00,
"currency": "DKK",
"status": "SUCCEEDED",
"created": "2026-06-22T07:29:05.751127+00:00",
"authorized": "2026-06-22T07:30:12.104311+00:00",
"failed": null
}
]
},
"outbound": {
"amount": 0.00,
"payments": []
}
},
"expectedCompletion": null
}
The endpoint returns 404 Not Found if the transaction doesn't exist or wasn't created by you.
Fields
Transaction
- status: One of:
CREATED: created and awaiting payment or an invitation response.INPROGRESS: payment received, awaiting delivery/completion.SUCCEEDED: completed; payout scheduled or made.CANCELLED: cancelled, returned or expired.UNKNOWN: the state couldn't be mapped to one of the above. Contact Safepay Nordic if you see it.
- payer.amount: What the payer pays:
amountplus the payer's fee. - payee.amount: What the payee is paid out:
amountminus the payee's fee. - expectedCompletion: The expected completion date, if set when creating the transaction.
Fees
- payee / payer: The fee charged to the payee and the payer: the
payeeFixedFeeandpayerFixedFeeyou set when creating the transaction. - tenant: Your fee for the transaction:
payeepluspayer. - safepay: Safepay Nordic's fee to you, calculated from your agreement. It's taken from your fee when your fee covers it; otherwise it's invoiced to you.
Payments
- payments.inbound.amount: The total amount paid into escrow: all authorized payments, plus any money moved in from another transaction. Cancelled and refunded amounts aren't subtracted here; they are counted in
payments.outbound.amount. - payments.inbound.payments: The individual payments into escrow:
- method:
PSD2,VIPPSMOBILEPAY,FIK,BANKTRANSFERorUNKNOWN. - status:
INPROGRESS,SUCCEEDED,FAILEDorREFUNDED. A cancelled payment is reported asFAILED. - amount / currency: The amount paid. The currency is included both in
amountand as a separate field. - created / authorized / failed: When the payment was created, authorized and, if applicable, failed or cancelled.
- method:
- payments.outbound.amount: The total amount that has left escrow: payouts, refunds and cancelled payments, plus any money moved to another transaction. The amount still held in escrow is
payments.inbound.amountminuspayments.outbound.amount. - payments.outbound.payments: The individual payouts from escrow:
- destination: The IBAN, BBAN or FIK the payout is sent to.
- text: The text on the transfer.
- payee: Who receives the payout.
- amount / currency: The amount paid out.
- status:
SCHEDULED,INPROGRESS,SUCCEEDEDorFAILED. - created: When the payout was created.
Vehicle transactions also include an autoInformation object. It isn't covered on this page.