Skip to main content

Create Session for One - Time Payment Link

This API endpoint allows you to submit new orders to Front Payment and receive a payment URL in return.


Step 1: Create a Payment Link

To initiate a payment, your system will need to call our create endpoint to generate a payment link. This link will redirect your users to our secure hosted checkout page.

Endpoint

POST https://demo-api.frontpayment.no/api/v1/connect/orders/regular/submit

Authorization

This endpoint requires a Bearer Token for authentication. You will need to obtain this token from Frontpayment and include it in the Authorization header of your request.

Example Authorization Header: Authorization: Bearer YOUR_FRONTPAID_BEARER_TOKEN


Request Payload

The request body should be a JSON object containing details about the order, customer, and callback URLs.

{
  "products": [
    {
      "name": "Test Product",
      "productId": "1234",
      "quantity": 1,
      "rate": 4500,
      "discount": 0,
      "tax": 12,
      "amount": 4500
    }
  ],
  "orderSummary": {
    "subTotal": 4017.86,
    "totalTax": 482.14,
    "totalDiscount": 0.00,
    "grandTotal": 4500.00,
    "shippingCost": 0.00
  },
  "referenceNo": "",
  "customerReference": "",
  "orderDate": "1754556624",
  "withCustomer": true,
  "customerDetails": {
    "type": "private",
    "countryCode": "+47",
    "msisdn": "46567468",
    "email": "[email protected]",
    "name": "Kari Nordmann",
    "preferredLanguage": "en",
    "personalNumber": null,
    "address": {
      "street": "Luramyrveien 65",
      "zip": "4313",
      "city": "Sandnes",
      "country": "NO"
    }
  },
  "submitPayment": {
    "via": "visa"
  },
  "callback": {
    "callbackUrl": "https://your-callback-url.com/callback",
    "success": "https://your-callback-url.com/success",
    "failure": "https://your-callback-url.com/failure"
  }
}

Validation Rules

Ensure your payload adheres to the following validation rules:

Field Type Description
products.*.name string Required. The name of the product.
products.*.productId string Optional. The unique ID of the product.
products.*.quantity numeric Required. The numberQuantity of units.the product.
products.*.rate numeric Required. The priceRate per unit.unit of the product.
products.*.discount numeric Optional. Any discountDiscount applied to the product.
products.*.tax numeric Required. TheTax taxrate percentage. Mustmust be one of `0`(e.g., `12`0, 12, 15, 25), `15`,Unless oryou `25`have other configuration unless otherwise configured.
products.*.amount numeric Required. The totalTotal amount for thisthe product.product line item.
orderSummary.subTotal numeric Required. The subtotalSubtotal of theall orderproducts before tax and discounts.discount.
orderSummary.totalTax numeric Required. The total tax for the order.
orderSummary.totalDiscount numeric Required. The totalTotal discount for the order.
orderSummary.grandTotal numeric Required. The finalGrand total of the order.
orderSummary.shippingCost numeric Optional. Shipping cost of order.
orderDate string Required. Unix timestamp for the Date of the order, which must be current or future date.
referenceNo string Optional. Any reference information from your side. example: Order Uuid generated from your application.
customerReference string Optional. Customer reference
withCustomer boolean Required. If `withCustomer` value is true then you must provide customer details
customerDetails.type string Optional. The customer type. Must be either `private` or `corporate`.
customerDetails.countryCode string Optional. TheCountry code for the customer's phone countrynumber code.(e.g., "+47").
customerDetails.msisdn string Optional. TheMobile customer'sSubscriber MSISDN Number (phone number.number).
customerDetails.email string Optional. The customer'Customer's email address.
customerDetails.name string Required. TheCustomer's customer'sfull name.
customerDetails.preferredLanguage string Required. Customer preferred language. Available languages are en,no,sv,da,de. If nothing is given it will set default to no.
customerDetails.personalNumber string Optional. The customer'Customer's personal IDidentification numbernumber, (must be 11 characters).characters.
customerDetails.address object Required. An object containing the customer's address.
customerDetails.address.street string Required. TheStreet streetaddress name.of the customer.
customerDetails.address.zip string Required.The postalZip code.code of the customer's address.
customerDetails.address.city string Required. TheCity city.of the customer's address.
customerDetails.address.country string Required. TheISO Alpha-2 country code in(e.g., ISO"NO"). AlphaCustom 2validation format.IsoAlpha2Country applies.
submitPayment.via string Required. The payment method. Available payment methods vipps, visa, mastercard, applepay, or googlepay.
callback.callbackUrl url Required. The URL to which Front Payment will send updates.Must be a valid url.
callback.success url Required. The URL to redirect to upon successful payment.Must be a valid url.
callback.failure url Required. The URL to redirect to upon failed payment.Must be a valid url.

Response

Success Response (HTTP 201)

A successful request will return a 201 Created status with the following JSON payload:

{
  "status_code": 201,
  "status_message": "OK",
  "message": "Order Submitted Successfully",
  "is_data": true,
  "data": {
    "orderUuid": "ODR123456789",
    "customerUuid": "CSRT40567996",
    "paymentUrl": "https://v1.checkout.bambora.com/a403d3df20af4888bd8f7dd38f3cd7f1"
  }
}

Error Responses

HTTP 500: Internal Dependency Error

{
  "status_code": 500,
  "status_message": "Internal Dependency Error",
  "message": "Internal Error Occurred Please Try Again Later",
  "is_error": true,
  "errors": {
    "happenedAt": "String",
    "internalErrorDetails": "Array"
  }
}

HTTP 510: Execution Exception

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

Notifications via Callback URL

Go To Notication Via Callback Url Page