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

Authorization

ThisTo endpointaccess requiresthis endpoint, include a Bearer Token for authentication. You will need to obtain this token from Frontpayment and include it in the Authorization header of your request. You can obtain this token from Frontpayment.

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 Optional 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 Optional 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.
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 | email Required Customer's full name.
customerDetails.preferredLanguage nullable | string Optional Customer preferred language. Available languages are en, no, sv, da, de. If nothing 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 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.
callback.callbackUrl required | url Required To receive real-time notifications on order state changes, you must provide a callback url. This is an server-to-server HTTP GET request.

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

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.

Go To Notication Via Callback Url Page