Refund a capture
POST /v3/session/:sessionId/order/refund
Refund a captured order of a payment session.
Path Parameters
- sessionId string required
Format: UUID. The session that should be partially or fully refunded.
Example: c5674f4f-7e84-405c-a44b-c83736bb7209
Header Parameters
- Content-Type string
Possible values: [
application/json
] - Accept string
Possible values: [
application/json
] - Authorization string
Format: "Basic <base64(username:secret)>"
- application/json
Request Body
- captureId string
Format: UUID. The capture that should be partially or fully refunded. Only needed when working with partial captures.
data object required
order object required
amountIncVat amountIncVat requiredAmount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
amountExVat amountExVat requiredAmount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
currency currency requiredExample: SEK, EUR, USD
cart object[] required
Possible values:
>= 1
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]
- 201
- 400
- 403
- application/json
- Schema
- Example (from schema)
Schema
- createdAt date
ISO 8601 format, example: "2023-04-12T13:16:08.647Z".
- refundId string
- parentCaptureId string
- parentTransactionId string
- reservationId string
- pspId string
Unique UUID identifier of the payment method.
- pspDisplayName string
Localized name of the payment method that is showed to end users.
- pspIntegrationName string
Name of the payment integration that helps merchants distinguish the payment method processor used. For payment methods integrated via a payment suite (e.g. Adyen, Stripe), this will be in the format: "{Suitename} - {payment method name}" (e.g., "Adyen - Card payments"). For direct integrations (e.g., PayPal, Klarna, Swish), this will be the name of the payment method provider (e.g., "PayPal"). This name is not intended for the end user to see.
- email string
- reference string
- amountIncVat amountIncVat
Amount including vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
- amountExVat amountExVat
Amount excluding vat/tax. Should be in cents / minor units. e.g. 1 SEK = 100.
- currency currency
Example: SEK, EUR, USD
cart object[]
Array [- oneOf
- Regular items
- US sales tax
productType string requiredPossible values: [
physical
,digital
,discount
,shipping_fee
,deposit
,surcharge
,adjustment
,gift_card
]Type of item.
'discount' - the unitPrice should be negative.
'adjustment' - Can only be used on refunds.
'gift_card' - When gift_card is used, a positive value indicates that a gift card is being purchased, and a negative value indicates a gift card being used as part of the payment. Keep in mind that gift cards are generally exempt from VAT/Tax as it's buying a currency and not a product.reference stringPossible values:
<= 256 characters
The SKU of the item
name string requiredPossible values:
<= 256 characters
quantity integer requiredPossible values:
>= 1
quantityUnit string requiredPossible values:
<= 10 characters
unitPrice integer requiredUnit price in minor units (e.g. 1 EUR = 100 unitPrice). Should be excluding VAT and excluding discount.
taxRate integer requiredThe applicable taxrate in minor units. Eg 25% = 2500
discountPercentage integerDiscount value in percentages. 10% = 1000
productType string requiredPossible values: [
sales_tax
]Has to be "sales_tax".
name string requiredPossible values:
<= 256 characters
reference stringPossible values:
<= 256 characters
Reference
totalTaxAmount integer requiredTotal tax amount for the order in minor units (e.g. 1 USD = 100 totalTaxAmount).
]- status string
Possible values: [
pending
,approved
,rejected
] - sessionId string
{
"createdAt": "2023-04-12T13:16:08.647Z",
"refundId": "string",
"parentCaptureId": "string",
"parentTransactionId": "string",
"reservationId": "string",
"pspId": "string",
"pspDisplayName": "string",
"pspIntegrationName": "string",
"email": "string",
"reference": "string",
"amountIncVat": 3000,
"amountExVat": 2400,
"currency": "SEK",
"cart": [
{
"productType": "physical",
"reference": "testproduct1",
"name": "Test product",
"quantity": 2,
"quantityUnit": "pc",
"unitPrice": 1200,
"taxRate": 2500,
"discountPercentage": 0
},
{
"productType": "sales_tax",
"name": "Sales tax",
"reference": "sales_tax",
"totalTaxAmount": 1200
}
],
"status": "pending",
"sessionId": "string"
}
- application/json
- Schema
- Example (from schema)
Schema
error object
code stringPossible values: [
INVALID_CREDENTIALS
,INVALID_DATA
,REFUND_NOT_SUPPORTED
,REFUND_NOT_ALLOWED
,ORDER_NOT_COMPLETED
,ORDER_NOT_CAPTURED
,ORDER_CANCELLED
,ORDER_PENDING
,UNKNOWN
]message string
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "string"
}
}
- application/json
- Schema
- Example (from schema)
Schema
error object
code stringPossible values: [
INVALID_CREDENTIALS
,INVALID_API_KEY
,AUTH_SECRET_EXPIRED
]message string
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "string"
}
}