Skip to main content

Create Session for Invoice Order

With this API endpoint, you can export an order as an invoice to Front Payment Go and get an Order  Universal Unique ID (UUID) in return. 

Endpoint : https://demo-api.frontpayment.no/api/v1/connect/orders/regular/submit
Method : POST
Authorization : Bearer
Payload Validations :
'products.*.name' => 'required|string',
'products.*.productId' => 'nullable|string',
'products.*.quantity' => 'required|numeric',
'products.*.rate' => 'required|numeric',
'products.*.discount' => 'nullable|numeric',
'products.*.tax' => 'required|numeric|in:0,12,15,25 (Unless you have other configuration)',
'products.*.amount' => 'required|numeric',
'orderSummary.subTotal' => 'required|numeric',
'orderSummary.totalTax' => 'required|numeric',
'orderSummary.totalDiscount' => 'required|numeric',
'orderSummary.grandTotal' => 'required|numeric',
'orderDate' => 'required|string',
'dueDateForPaymentLink' => 'required_if:invoiceInterval,0|string',
'sendOrderBy.sms' => 'required|boolean',
'sendOrderBy.email' => 'required|boolean',
'sendOrderBy.invoice' => 'required|boolean',
'isCreditCheckAvailable' => 'required|boolean',
'invoiceAsPaymentOption' => 'required|boolean',
'customerDetails.type' => 'required|nullable|string|in:private,corporate',
'customerDetails.countryCode' => 'required|nullable|string',
'customerDetails.msisdn' => 'required|nullable|string',
'customerDetails.email' => 'required|nullable|email',
'customerDetails.name' => 'required|string',
'customerDetails.preferredLanguage' => 'required|string',
'customerDetails.personalNumber' => 'nullable|required_if:submitPayment.via,invoice|string|regex:/^\d{11}$/',
'customerDetails.organizationId' => 'required_if:customerDetails.type,corporate|nullable|string|regex:/^[a-zA-Z0-9]+$/',
'customerDetails.address' => 'required|array',
'customerDetails.address.street' => 'required|string',
'customerDetails.address.zip' => 'required|string',
'customerDetails.address.city' => 'required|string',
'customerDetails.address.country' => 'required|string|in:ISO Alpha 2',
'invoiceReferences' => 'nullable|array',
'invoiceReferences.referenceNo' => 'nullable|string',
'invoiceReferences.customerReference' => 'nullable|string',
'invoiceReferences.receiptNo' => 'nullable|string',
'invoiceReferences.customerNotes' => 'nullable|string',
'invoiceReferences.tnc' => 'nullable|string',
'internalReferences' => 'nullable|array',
'internalReferences.referenceNo' => 'nullable|string',
'internalReferences.notes' => 'nullable|string',
'submitPayment' => 'required|array',
'submitPayment.via' => 'required|string|in:invoice',
'invoiceInterval' => 'sometimes|numeric|in:0,1,2',
'separateInvoices' => 'sometimes|boolean',
'callback' => 'required|array',
'callback.success' => 'required|string',
'callback.failure' => 'required|string'
About Payload :

invoiceInterval, Daily = 0, Once a month = 1, Twice a month = 2.

Example Payload :
{
    "products": [
        {
            "name": "Router",
            "productId": "R_1",
            "quantity": "1",
            "rate": 4500,
            "discount": 0,
            "tax": "12",
            "amount": 4500
        }
    ],
    "orderSummary": {
        "subTotal": "4017.86",
        "totalTax": "482.14",
        "totalDiscount": "0.00",
        "grandTotal": "4500.00"
    },
    "orderDate": "2 Aug, 2023",
    "dueDateForPaymentLink": "1691125906",
    "sendOrderBy": {
        "sms": false,
        "email": false,
        "invoice": true
    },
    "invoiceAsPaymentOption": true,
    "isCreditCheckAvailable": false,
    "customerDetails": {
        "type": "private",
        "countryCode": "+47",
        "msisdn": "46567468",
        "email": "[email protected]",
        "name": "Kari Nordmann",
        "preferredLanguage": "en",
        "personalNumber": null,
        "organizationId": null,
        "address": {
            "street": "Luramyrveien 65",
            "zip": "4313",
            "city": "Sandnes",
            "country": "NO"
        }
    },
    "invoiceReferences": null,
    "internalReferences": null,
    "invoiceInterval": 0,
    "separateInvoices": true,
    "submitPayment": {
        "via": "invoice",
        "currency": "NOK"
    },
    "callback": {
        "success": "https://www.frontpayment.no/success",
        "failure": "https://www.frontpayment.no/failure"
    }
}

Response Structure :
{
    "status_code": 202,
    "status_message": "OK",
    "message": "Order Submitted Successfully",
    "is_data": true,
    "data": {
      "orderUuid": "String"
      "paymentUrl": "String"
    }
}

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

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

Example Response :
{
    "status_code": 202,
    "status_message": "OK",
    "message": "Order Submitted Successfully",
    "is_data": true,
    "data": {.
      "orderUuid": "ODR123456789",
      "paymentUrl": "https://example-url.com/loremipsum-dolor"
    }
}