Skip to main content

Refund or Reverse Payment

This API allows your application to refund payment from your order


Endpoint

POST 
therequest
Endpoint:https://demo-api.frontpayment.no/api/v1/connect/terminal/orders/refund/{{ORDER_UUID}}
Method:POST

Authorization

:Bearer
Payload Validations:

Include a Bearer Token in the Authorization header. You can obtain this token from Front Payment.

Example:

'type'Authorization: =>Bearer 'required|string',YOUR_FRONTPAYMENT_BEARER_TOKEN
'grandTotal'=> 'required|numeric',
'products' => 'required|array',
'products.*.id' => 'required|numeric',
'products.*.amount' => 'required|numeric',
'isReversal' => 'required|Boolean'

Request



Payload

If you want to ReverseSend the paymentfollowing thenparameters setas 'isReversal'a =JSON trueobject

in
Example Payload:

 body:

{
    "type": "regular",
    "grandTotal": 42,
    "products": [
        {
            "id": 12,
            "amount": 42
        }
    ],
    "isReversal": false
}

Validation Rules

Make sure your request meets the following requirements:

FieldTypeDescription
typestringRequired Using type. Available type is regular
Response StructuregrandTotal :numeric Required Grand total of the refunded amount.
products.*idnumericRequired Order product id. From which product you want to refund.
products.*.amountnumericRequired Refund amount for the product.
isReversalbooleanIf you want to Reverse the payment then set true otherwise set false 

Response

A successful request will return a 202 OK status with the following JSON payload:


{
    "status_code": 202,
    "status_message": "OK",
    "message": "terminalOrderRefundRequestSuccessfully",
    "is_data": false,
    "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": 200,404,
    "status_message": "OK"Not Found",
    "message": "terminalOrderReversalSuccessfully"orderNotFound",
    "is_data"is_error": false,
    "data"errors": null
}

API return a 417 error, it means request payload validation failed.

{
    "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": 404,510,
    "status_message": "NotExecution Found"Exception Occurred",
    "message": "orderNotFound"somethingWentWrong",
    "is_error": false,true,
    "errors": null"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": "orderProductsNotFound", "is_error": false, "errors": null }

{
    "status_code": 400,
    "status_message": "Conflict of Business Logic",
    "message": "refundRejectionForProductAmountExceed",
    "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": "terminalOrderRefundRequestSuccessfully",
    "is_data": false,
    "data": null
}