Submit Reservation
This API allows third-party systems to create reservations and redirect customers to a checkout page for completing payments.
Step 1: Submit Reservation
Endpoint
POST [https://demo-api.frontpayment.no/api/v1/connect/reservations/submit](https://demo-api.frontpayment.no/api/v1/connect/reservations/submit)
Authentication
This endpoint requires a Bearer Token
for authentication. You will need to obtain this token from Front Payment and include it in the Authorization
header of your request.
Request Payload
{
"customerDetails": {
"uuid": "",
"type": "private",
"countryCode": "+880",
"msisdn": "1724313009",
"email": "[email protected]",
"name": "Nafees",
"preferredLanguage": "en",
"personalNumber": "19635464524",
"organizationId": null,
"address": {
"street": "Dhaka",
"zip": "3500",
"city": "Cumilla",
"country": "NO"
}
},
"orderDate": "03 Sep, 2025",
"dueDateForPaymentLink": "1756871295",
"referenceNo": null,
"customerReference": null,
"sendOrderBy": {
"sms": false,
"email": true
},
"products": {
"0": {
"name": "Test",
"productId": null,
"rate": 1,
"tax": "0",
"amount": 1
}
},
"orderSummary": {
"subTotal": 1,
"totalTax": 0,
"grandTotal": 1
},
"chargeValidity": "55",
"customerNotes": null,
"tnc": null,
"settings": {
"secureDetails": false,
"isChargePartiallyRefundable": false
},
"callback": {
"callbackUrl": "https://wp.frontpayment.no"
}
}
Validation Rules
Field | Type | Description |
---|---|---|
customerDetails | array | Required. Customer details information. |
customerDetails.type | string | Required. Customer type (private or corporate). |
customerDetails.countryCode | string | Required. Country dialing code (e.g., +880). |
customerDetails.msisdn | string | Required. Mobile phone number without country code. |
customerDetails.email | email | Required. Valid customer email address. |
customerDetails.name | string | Required. Full name of the customer. |
customerDetails.preferredLanguage | string | Required. Preferred language (e.g., en, no). |
customerDetails.personalNumber | string | Optional. Must be exactly 11 digits if provided. |
customerDetails.organizationId | string | Required if type=corporate . Alphanumeric only. |
customerDetails.address | array | Required. Customer address details. |
customerDetails.address.street | string | Required. Street name. |
customerDetails.address.zip | string | Required. Postal code. |
customerDetails.address.city | string | Required. City name. |
customerDetails.address.country | string | Required. Country code (ISO format). |
orderDate | string | Required. Reservation order date. |
dueDateForPaymentLink | string | Required. Expiry timestamp for payment link. |
referenceNo | string | Optional. Internal reference number. |
customerReference | string | Optional. Customer’s reference number. |
sendOrderBy | array | Required. Defines communication channels (SMS, email). |
sendOrderBy.sms | boolean | Required. Whether to send via SMS. |
sendOrderBy.email | boolean | Required. Whether to send via Email. |
products | array | Required. List of products in the order. |
products.*.name | string | Required. Product name. |
products.*.productId | string | Optional. Product ID (max 25 chars). |
products.*.rate | numeric | Required. Unit rate. |
products.*.tax | numeric | Required. Tax value. |
products.*.amount | numeric | Required. Quantity of product. |
orderSummary.subTotal | numeric | Required. Subtotal of products. |
orderSummary.totalTax | numeric | Required. Total tax amount. |
orderSummary.grandTotal | numeric | Required. Final payable amount. |
customerNotes | string | Optional. Customer-provided notes. |
tnc | string | Optional. Terms & Conditions. |
chargeValidity | string | Optional. Must be numeric string. |
settings | array | Optional. Additional settings. |
settings.secureDetails | boolean | Optional. Indicates secure details requirement. |
settings.isChargePartiallyRefundable | boolean | Optional. Whether partial refunds are allowed. |
callback | array | Optional. Callback configuration. |
callback.callbackUrl | url | Optional. URL to receive payment notifications. |
Example Success Response
{
"status_code": 201,
"status_message": "OK",
"message": "Reservation Submitted Successfully",
"is_data": true,
"data": {
"customerUuid": "CSRT1358046874",
"reservationUuid": "RES1943140879",
"checkoutUrl": "https://stg.frontpayment.no/reservations/details/RES1943140879"
}
}
Step 2: Redirect to Checkout
After receiving a successful response, the customer should be redirected to the checkoutUrl
provided.
At checkout, the customer can choose from supported payment methods:
- Vipps
- Google Pay
- Visa
- Mastercard
Once the payment is completed successfully, the user will be redirected to a success page.
Step 3: Callback Notification
AfterThe payment,callbackUrl
theis third-partyan endpoint on your server that our system will be notifiedcall via thean callbackUrlHTTP GETprovidedrequest inwhenever the reservationstatus request.of the specified order changes from its initial state.
📌 See Callbackthe link below to understand how to work with the callback URL Documentationon foryour details.side and how to verify the request sent from our side.