Skip to main content

Submit Reservation

Use the Submit Reservation endpoint to initiate a reservation and seamlessly direct customers to a checkout experience. This single request unlocks the following flow:

  • You submit key reservation details including customer, products, and payment timelines.
  • The API responds with a checkout URL for payment.
  • You then redirect the customer to that checkout URL to complete payment.

Why This Matters

  • Flexibility: Supports multiple customer types (private, corporate) and customizable settings.
  • Control: Let customers pay via email or SMS, define your own reference numbers, and tailor notifications.
  • Automation Friendly: Receive server-to-server callbacks for status changes—Reserved, Captured, Charged—for full transaction tracking.

Keep reading for endpoint URL, request schema, validation rules, and examples. Let's get your reservations live effortlessly.

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

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

Example:

Authorization: Bearer YOUR_FRONTPAYMENT_BEARER_TOKEN

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. Unix timestamp for the Date of the order.
dueDateForPaymentLink string Required.Unix timestamp for payment link expiry. Must be current for future timestamp
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. UThe URL we will notify upon payment status changes.
---

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"
  }
}

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.


Callback Notification

The callbackUrl is an endpoint on your server that our system will call via an HTTP GET request whenever the status of the specified order changes from its initial state. For reservation the callbackUrl will be triggered for three status changed: Reserved, Captured, Charged.

Go To Notication Via Callback Url Page