Endpoint |
: |
https://demo-api.frontpayment.no/api/v1/connect/terminal/orders/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|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',
'sendOrderBy.sms'=>'required|boolean',
'sendOrderBy.email'=>'required|boolean',
'receiptPrint'=>'required|boolean',
'terminalUuid'=>'required|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.customerNotes'=>'nullable|string',
'invoiceReferences.tnc'=>'nullable|string',
'callbackUrl'=>'sometimes|required|string',
|
Example Payload |
: |
{
"products": {
"0": {
"name": "Hair Wash",
"productId": "VFDDF",
"quantity": "1",
"rate": 42,
"discount": 0,
"tax": "0",
"amount": 42
}
},
"orderSummary": {
"subTotal": "42.00",
"totalTax": "0.00",
"totalDiscount": "0.00",
"grandTotal": "42.00"
},
"orderDate": "07 Apr, 2024",
"sendOrderBy": {
"sms": false,
"email": true
},
"terminalUuid": "TRML1216693970",
"receiptPrint": false,
"customerDetails": {
"type": "private",
"countryCode": "+47",
"msisdn": "46567468",
"email": "[email protected]",
"customerUuid": null,
"name": "Kari Nordmann",
"preferredLanguage": "en",
"personalNumber": null,
"organizationId": null,
"address": {
"street": "Luramyrveien 65",
"zip": "4313",
"city": "Sandnes",
"country": "NO"
}
},
"invoiceReferences": {
"referenceNo": "1234567",
"customerReference": "3500",
"customerNotes": "",
"tnc": ""
},
'callbackUrl'=>'https://example-callback.com'
}
|
Response Structure |
: |
//Success
{
"status_code": 201,
"status_message": "OK",
"message": "terminalOrderAddedSuccessfully",
"is_data": true,
"data": {
"orderUuid": "String"
}
}
// Error
{
"status_code": 510,
"status_message": "Execution Exception Occurred",
"message": "Something Went Wrong",
"is_error": true,
"errors": "Array"
}
|
Example Response |
: |
{
"status_code": 201,
"status_message": "OK",
"message": "terminalOrderAddedSuccessfully",
"is_data": true,
"data": {
"orderUuid": "ODR123456789"
}
}
|
About callback Url |
: |
If you provide callback URL into order payload, then the system will inform you about the order by GET Method with some query parameters.
|
Callback Query Parameters Example |
: |
Payment Approved
{
"orderUuid": "ODR1566017307",
"status": "Approved",
"type": "Payment",
"baseAmount": "42",
"vatAmount": "0",
"totalAmount":"42",
"currency":"NOK"
}
Payment Declined
{
"orderUuid": "ODR1566017307",
"status": "Cancelled",
"type": "Payment",
"baseAmount": "42",
"vatAmount": "0",
"totalAmount":"42",
"currency":"NOK"
}
Refund Approved
{
"orderUuid":"ODR1566017307",
"status":"Approved",
"type":"Payment_Refund",
"totalAmount":"42",
"currency":"NOK"
}
Refund Declined
{
"orderUuid":"ODR1566017307",
"status":"Cancelled",
"type":"Payment_Refund",
"totalAmount":"42",
"currency":"NOK"
}
|