Skip to main content

Send Payment Link

With this API endpoint, you can export orders to Front Payment Go and get payment URLs in return. 

Endpoint : https://demo-api.frontpayment.no/api/v1/connect/orders/payment-link/create
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',
'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|string',
'sendOrderBy.sms' => 'required|boolean',
'sendOrderBy.email' => 'required|boolean',
'sendOrderBy.invoice' => 'required|boolean',
'isCreditCheckAvailable' => 'required|boolean',
'invoiceAsPaymentOption' => 'required|boolean',
'customerDetails.customerUuid' => 'nullable|string',
'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|string|size: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',
'callback.callbackUrl' => 'nullable|string|url'
Example Payload :
{
    "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"
    },
    "orderDate": "5 Dec, 2023",
    "dueDateForPaymentLink": "1703040812",
    "sendOrderBy": {
        "sms": true,
        "email": false,
        "invoice": false
    },
    "invoiceAsPaymentOption": false,
    "isCreditCheckAvailable": false,
    "customerDetails": {
        "type": "private",
        "countryCode": "+47",
        "msisdn": "46567468",
        "email": "[email protected]",
        "customerUuid": "CSRT3672053467",
        "name": "Kari Nordmann",
        "preferredLanguage": "en",
        "personalNumber": null,
        "organizationId": null,
        "address": {
            "street": "Luramyrveien 65",
            "zip": "4313",
            "city": "Sandnes",
            "country": "NO"
        }
    },
    "invoiceReferences": {
        "referenceNo": "Dhaka",
        "customerReference": "3500",
        "receiptNo": "Cumilla",
        "customerNotes": "NO",
        "tnc": "adfsl"
    },
    "internalReferences": {
        "referenceNo": "Dhaka",
        "notes": "3500"
    },
  "callback":{
    "callbackUrl": "https://stg-api.frontpayment.no/api/v1/tests-callback"
  }
}

Response Structure :
{
    "status_code": 201,
    "status_message": "OK",
    "message": "orderAddedSuccessfully",
    "is_data": true,
    "data": null
}

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

Example Response :
{
    "status_code": 201,
    "status_message": "OK",
    "message": "orderAddedSuccessfully",
    "is_data": false,
    "data": null
}

Handling Callback

Example: https://stg-api.frontpayment.no/api/v1/tests-callback?orderUuid=ODR10293993&status=PAID&createdAt=1753079134×tamp=1753079134&checksum=e076f553a751a0d04b929d40f086d4cb89ae3942a5bc170ccad336b3ab185ce9

 

Example Parameters:

Parameter Description
orderUuid Unique order identifier 
status  Payment status ('SENT',`PAID`, `FAILED`, etc.)
createdAt  UNIX timestamp when the payment occurred
checksum SHA-256 hash to verify data integrity 

Checksum Verification:

To verify the integrity of the callback data:

1. Extract the values of `orderUuid`, `status`, and `createdAt` from the callback request.
2. Concatenate them in the following order:

 

orderUuid + status + createdAt


3. Generate a SHA-256 hash of the resulting string.
4. Compare the generated hash with the `checksum` provided in the callback.

 

✅ If they match: The callback is valid.
❌ If they don't match: The callback may have been tampered with—do not trust the data.