Skip to main content

Send Payment Link

With this API endpoint, you can export orders to Front Payment Go and get Order Uuid and Customer Uuid in return.


Endpoint

POST https://demo-api.frontpayment.no/api/v1/connect/orders/payment-link/create

Authentication

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 products, order and customer.

{
    "products": {
        "0": {
            "name": "Hair Wash",
            "productId": "VFDDF",
            "quantity": "1",
            "rate": 51,
            "discount": 0,
            "tax": "0",
            "amount": 51
        }
    },
    "orderSummary": {
        "subTotal": "51.00",
        "totalTax": "0.00",
        "totalDiscount": "0.00",
        "grandTotal": "51.00"
    },
    "sendOrderBy": {
        "sms": true,
        "email": false
    },
    "orderDate": "1703040812",
    "dueDateForPaymentLink": "1703040812",
    "customerDetails": {
        "type": "private",
        "countryCode": "+47",
        "msisdn": "46567468",
        "email": "[email protected]",
        "name": "Kari Nordmann",
        "preferredLanguage": "en",
        "personalNumber": "12345678901",
        "address": {
            "street": "Luramyrveien 65",
            "zip": "4313",
            "city": "Sandnes",
            "country": "NO"
        }
    },
    "isCreditCheckAvailable": true,
    "invoiceAsPaymentOption": true,
    "referenceNo": null,
    "customerReference": null,
    "secureDetails": true,
    "callback": {
        "callbackUrl": "https://example.com/callback-url"
    }
}

Validation Rules

Make sure your request meets the following requirements:

Field Type Description
products.*.name required | string Required. Name of the product.
products.*.productId nullable | string Nullable. Unique identifier for the product.
products.*.quantity required | numeric Required. Quantity of the product.
products.*.rate required | numeric Required. Rate per unit of the product.
products.*.discount nullable | numeric Nullable. Discount applied to the product.
products.*.tax required | numeric Required. Tax rate must be (e.g., 0, 12, 15, 25), Unless you have other configuration unless otherwise configured.
products.*.amount required | numeric Required. Total amount for the product line item.
orderSummary.subTotal required | numeric Required. Subtotal of all products before tax and discount.
orderSummary.totalTax required | numeric Required. Total tax for the order.
orderSummary.totalDiscount required | numeric Required. Total discount for the order.
orderSummary.grandTotal required | numeric Required. Grand total of the order.
sendOrderBy required | array Required. Set one of this sms or email field value is true
sendOrderBy.sms required | boolean Required. Order will send sms then set true.
sendOrderBy.email required | boolean Required. Order will send email then set true.
orderDate required | string Required. Provide Current / Future Date as Unix timestamp for the Date of the order.
dueDateForPaymentLink required | string Required. Provide Future Date as Unix timestamp for the Due Date of the order.
customerDetails.countryCode required | string Required. Country code for the customer's phone number (e.g., "+47").
customerDetails.msisdn required | string Required. Mobile Subscriber ISDN Number (phone number).
customerDetails.email required | email Required. Customer's email address.
customerDetails.name required | string Required. Customer's full name.
customerDetails.preferredLanguage nullable | string Nullable. Customer'sCustomer languagepreferred (e.g.language. Available languages are en, no, en, sv, da, de). DefaultIf valuenothing =is given it will set default to no.
customerDetails.type required | string Required. You can provide customer type is private or corporate
customerDetails.personalNumber nullable | string | max:11 Optional. Customer's personal identification number, must be exactly 11 characters containing only numbers and cannot contain spaces. When Customer type is private then you can used this for add personal number.
customerDetails.organizationId required | string Conditional Required. Organization identification number, must contain only numbers and cannot contain spaces. When Customer type is corporate then this field is required. Otherwise you can add this as null or remove from payload.
customerDetails.address.street required | string Required. Street address of the customer.
customerDetails.address.zip required | string Required. Zip code of the customer's address.
customerDetails.address.city required | string Required. City of the customer's address.
customerDetails.address.country required | string Required. ISO Alpha-2 country code (e.g., NO). Custom validation IsoAlpha2Country applies.
isCreditCheckAvailable required | boolean Required. Credit check option enable in checkout then set true.
invoiceAsPaymentOption required | boolean Required. Enable Invoice as payment option then set true.
referenceNo nullable | string Nullable. Any reference number.
customerReference nullable | string Nullable. Any value for customer reference .
secureDetails required | boolean Required. If you want to secure your order details set it true. Otherwise set it false.
callback.callbackUrl required | array Required. The URL we will notify when order status changes.

Response

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

{
    "status_code": 201,
    "status_message": "OK",
    "message": "orderAddedSuccessfully",
    "is_data": false,
    "data": {
        "uuid": "ODR3506777330",
        "customerUuid": "CSRT3463048878"
    }
}

API returns a 500 or 510 error, it means something failed on the server side

{
    "status_code": 500,
    "status_message": "Internal Dependency Error",
    "message": "internalErrorOccurredPleaseTryAgainLater",
    "is_error": true,
    "errors": {
        "happenedAt": "String",
        "internalErrorDetails": "Array"
    }
}
{
    "status_code": 510,
    "status_message": "Execution Exception Occurred",
    "message": "somethingWentWrong",
    "is_error": true,
    "errors": "Array"
}

Notifications via Callback URL

Go To Notication Via Callback Url Page