Skip to main content

Refund Reservation

Retrieve Product ID from Get Order Details API using reference.

Endpoint : https://demo-api.frontpayment.no/api/v1/connect/reservations/refund/{{RESERVATION_UUID}}
Method : POST
Authorization : Bearer
Payload Validations :
'type' => 'required|string|in:regular,invoiced,reservation',
'grandTotal' => 'required|numeric',
'products' => 'required|array',
'products.*.id' => 'required|numeric',
'products.*.amount' => 'required|numeric',
'source' => 'nullable|string|in:captured",charged|requiredIf('type') === reservation',
'reference' => 'nullable|string|requiredIf('type') === reservation
Example Payload :
{
    "type": "reservation",
    "grandTotal": 55,
    "products": [
        {
            "id": 451,
            "amount": 30
        },
        {
            "id": 452,
            "amount": 25
        }
    ],
    "source": "charged",
    "reference": "CHA3852658817"
}

Response Structure :
{
    "status_code": 202,
    "status_message": "OK",
    "message": "orderRefundedSuccessfully",
    "is_data": true,
    "data": null
}

{
    "status_code": 417,
    "status_message": "Client Error",
    "message": "payloadValidationErrors",
    "is_error": true,
    "errors": "Array"
}

{
    "status_code": 404,
    "status_message": "Not Found",
    "message": "orderNotFound",
    "is_error": false,
    "errors": null
}

{
    "status_code": 404,
    "status_message": "Not Found",
    "message": "refundRejectionForTransactionNotFound",
    "is_error": false,
    "errors": null
}

{
    "status_code": 400,
    "status_message": "Conflict of Business Logic",
    "message": "refundRejectionForRefundedCancelledInvoicedOrderParamRefunded",
    "is_error": false,
    "errors": null
}

{
    "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": "refundRejectionForRefundedCancelledInvoicedOrderParamCancelled",
    "is_error": false,
    "errors": null
}

{
    "status_code": 400,
    "status_message": "Conflict of Business Logic",
    "message": "refundRejectionForRefundedCancelledInvoicedOrderParamInvoiced",
    "is_error": false,
    "errors": 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": "orderProductsNotFound",
    "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
}

{
    "status_code": 500,
    "status_message": "Internal Dependency Error",
    "message": "internalErrorOccurredPleaseTryAgainLater",
    "is_error": true,
    "errors": "Array"
}

{
    "status_code": 510,
    "status_message": "Execution Exception Occurred",
    "message": "somethingWentWrong",
    "is_error": true,
    "errors": "Array"
}

Example Response :
{
    "status_code": 202,
    "status_message": "OK",
    "message": "orderRefundedSuccessfully",
    "is_data": true,
    "data": null
}