Refund Order
Retrieve Product ID from Get Order Details API.
Endpoint
POST https://demo-api.frontpayment.no/api/v1/connect/orders/refund/{{ORDER_UUID}}
Authentication
Authorization
ThisTo endpointaccess requiresthis endpoint, include a Bearer Token
for authentication. You will need to obtain this token from Frontpayment and include it in the Authorization
header of your request. You can obtain this token from Frontpayment.
Request Payload
The request body should be a JSON object containing details
{
"type": "regular",
"grandTotal": 10,
"products": [
{
"id": 5410,
"amount": 10
}
],
"source": null,
"reference": null
}
Validation Rules
Make sure your request meets the following requirements:
Field | Type | Description |
---|---|---|
type |
required | string |
Required Using type. Available types are regular , invoiced and reservation |
grandTotal |
required | numeric |
Required Grand total of the refunded amount. |
products.*id |
required | numeric |
Required Order product id. From which product you want to refund. |
products.*.amount |
required | numeric |
Required Refund amount for the product. |
source |
nullable | string |
Conditional Required When using type is reservation then this field is required. Avaiable values are captured and charged . |
reference |
nullable | string |
Conditional Required When using type is reservation then this field is required. Using captured or charged uuid. |
Response
A successful request will return a 202
status with the following JSON payload:
{
"status_code": 202,
"status_message": "OK",
"message": "orderRefundedSuccessfully",
"is_data": true,
"data": null
}
Error Response
API returns a 404
error, it means requested order with ORDER_UUID
could not be found in our system.
{
"status_code": 404,
"status_message": "Not Found",
"message": "orderNotFound",
"is_error": false,
"errors": null
}
Validation error
{
"status_code": 417,
"status_message": "Client Error",
"message": "payloadValidationErrors",
"is_error": true,
"errors": "Array"
}
API returns a 510
error, it means something failed on the server side
{
"status_code": 510,
"status_message": "Execution Exception Occurred",
"message": "somethingWentWrong",
"is_error": true,
"errors": "Array"
}
Others refund rejections errors
{
"status_code": 400,
"status_message": "Conflict of Business Logic",
"message": "requestProductIdNotAvailable",
"is_data": false,
"data": null
}
{
"status_code": 400,
"status_message": "Conflict of Business Logic",
"message": "refundRejectionForRefundRequestGreaterThanOrderAmount",
"is_error": false,
"errors": null
}
{
"status_code": 400,
"status_message": "Conflict of Business Logic",
"message": "refundRejectionForProductAmountExceed",
"is_error": true,
"errors": "Array"
}
{
"status_code": 400,
"status_message": "Conflict of Business Logic",
"message": "refundRejectionForWeeklyThresholdExceed",
"is_error": true,
"errors": null
}
{
"status_code": 400,
"status_message": "Conflict of Business Logic",
"message": "refundRejectionForRequestAmountThresholdExceed",
"is_error": true,
"errors": null
}