Request
| : : |
https://demo-api.frontpayment.no/api/v1/connect/orders/regular/invoice/submit
Method: POST
Authorization: Bearer <token>
Payload Schema
Field |
Type |
Description |
products.*.name |
string |
Required. Product name. |
Methodproducts.*.productId |
:string |
POSTOptional. Unique identifier (max: 25 chars). |
Authorizationproducts.*.quantity |
:numeric |
BearerRequired. Quantity of product. |
Payload Validationsproducts.*.rate |
:numeric |
Required. 'products.*.name'Unit => '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'
rate/price. |
About Payloadproducts.*.discount |
:numeric |
Optional. invoiceInterval,Discount Daily = 0, Once a month = 1, Twice a month = 2.
applied. |
Example Payloadproducts.*.tax |
:numeric |
Required. Tax applied. |
products.*.amount |
numeric |
Required. Total amount after calculation. |
orderSummary.subTotal |
numeric |
Required. Subtotal of all items. |
orderSummary.totalTax |
numeric |
Required. Total tax. |
orderSummary.shippingCost |
numeric |
Required. Shipping cost. |
orderSummary.totalDiscount |
numeric |
Required. Total discount. |
orderSummary.grandTotal |
numeric |
Required. Grand total. |
orderDate |
string |
Required. Order date (timestamp). |
referenceNo |
string |
Optional. Reference number. |
customerReference |
string |
Optional. Customer reference. |
invoiceInterval |
numeric |
Optional. Invoice interval (allowed: 0,1,2). |
separateInvoices |
boolean |
Optional. Whether invoices should be separated. |
invoiceFeeApplicable |
boolean |
Required. Whether invoice fee applies. |
invoiceMaturity |
numeric |
Optional. Invoice maturity period. |
callback.callbackUrl |
url |
Optional. General callback URL. |
callback.success |
string |
Required. Success callback URL. |
callback.failure |
string |
Required. Failure callback URL. |
settings.secureDetails |
boolean |
Optional. Enable secure details. |
orderFrom |
string |
Optional. Must be "DAMP" if present. |
fpgoUuid |
string |
Optional. Must exist in App\Models\Order . |
customerDetails.type |
string |
Required. Customer type (private /corporate ). |
customerDetails.countryCode |
string |
Required. Customer country code. |
customerDetails.msisdn |
string |
Required. Customer mobile number. |
customerDetails.email |
email |
Required. Customer email address. |
customerDetails.name |
string |
Required. Customer full name. |
customerDetails.personalNumber |
string |
Optional. Required if submitPayment.via=invoice . Must be 11 digits. |
customerDetails.preferredLanguage |
string |
Optional. Preferred language. |
customerDetails.organizationId |
string |
Required if corporate. Must be alphanumeric. |
customerDetails.address.street |
string |
Required. Street address. |
customerDetails.address.zip |
string |
Required. ZIP code. |
customerDetails.address.city |
string |
Required. City. |
customerDetails.address.country |
string |
Required. Country code (e.g., "NO"). |
Example Request
{
"products": [
{
"name": "Router",
"productId": "R_1",
"quantity": "1",
"rate": 4500,40,
"discount": 0,
"tax": "12"0",
"amount": 450040
}
],
"orderSummary": {
"subTotal": "4017.86"40",
"totalTax": "482.14"0",
"totalDiscount": "0.00",
"grandTotal": "4500.40",
"shippingCost": "0.00"
},
"orderDate": "2 Aug, 2023"1755150488",
"dueDateForPaymentLink": "1691125906",
"sendOrderBy": {
"sms": false,
"email": false,
"invoice": true
},
"invoiceAsPaymentOption": true,
"isCreditCheckAvailable": false,
"customerDetails": {
"type": "private",
"countryCode": "+47",
"msisdn": "46567468",
"email": "karinordmann@yopmail.zahid@yopmail.com",
"name": "Kari Nordmann"Zahidul",
"preferredLanguage": "en",
"personalNumber": null,"28038712383",
"organizationId": null,"",
"address": {
"street": "LuramyrveienKlosterenget 65"144",
"zip": "4313"7030",
"city": "Sandnes"Trondheim",
"country": "NO"
}
},
"invoiceReferences"referenceNo": null,"Dhaka",
"internalReferences"customerReference": null,"3500",
"invoiceInterval": 0,
"separateInvoices": true,
"submitPayment"invoiceFeeApplicable": {true,
"via"invoiceMaturity": "invoice",
"currency": "NOK"
},10,
"callback": {
"callbackUrl": "https://wp.frontpayment.no/?order_identifier=rRbl1FWZG59o&order_status=success",
"success": "https://www.wp.frontpayment.no/?order_identifier=rRbl1FWZG59o&order_status=success",
"failure": "https://www.frontpayment.no/failure"?order_identifier=rRbl1FWZG59o&order_status=failed"
}
}
|