create_order
POST/create_order
The merchant sends a request to this endpoint to create a new BNPL order server-to-server (without requiring the customer to interact with the BNPL Widget directly). Backd creates the order, assigns it a unique backd_order_id, and returns a customer_url that the merchant can redirect their customer to in order to complete payment term selection.
The mode.type must be "redirect" for this endpoint. Once the customer completes term selection at the customer_url, the customer gets redirected to the supplied order_success_url if the transaction is successful or order_close_url if the transaction is closed or failed. Please have a look at Redirect Flow for handling of URL parameters.
Once the customer completes term selection at the customer_url, the order moves to "terms_selected" on Backd's system and the merchant should subsequently call /order_placed to move the order into placed ('order_placed') status. Have a look at the Status Flow for context of order statuses.
If notify_customer is true and customer_email is provided, Backd will also send the customer an email with their order link.
Request
- application/json
Body
required
- Array [
- ]
- Array [
- ]
Total order amount including tax, shipping, and any fees, minus discounts.
Subtotal of items in the cart, excluding tax, shipping, and discounts.
Tax amount charged for the order.
Shipping charge for the order.
Total discount applied to the order (positive number).
The merchant's unique identifier for this order.
Initial status of the order in the merchant's system.
shipping object
Name, address, phone, and email for a shipping or billing contact.
name objectrequired
First and last name of a person.
address objectrequired
Postal address.
Second address line (optional).
billing objectrequired
Name, address, phone, and email for a shipping or billing contact.
name objectrequired
First and last name of a person.
address objectrequired
Postal address.
Second address line (optional).
items object[]required
Line items included in the order. At least one item is required.
URL of the item's image (optional).
URL of the item's page (optional).
mode objectrequired
Delivery mode for the customer link. For create_order the type must be "redirect".
Possible values: [redirect]
Must be "redirect" for this endpoint.
URL the customer is redirected to after successfully selecting terms.
URL the customer is redirected to if they close without completing.
Email address of the customer. Required when notify_customer is true, so that the order link email can be sent.
When true and customer_email is provided, Backd will send the customer an email containing their order link.
documents object[]
Optional supporting documents (e.g. invoice) to attach to the order.
Base64-encoded content of the document.
File name including extension.
Internal reference identifier for the document type.
Responses
- 200
- 400
- 500
Order successfully created. The data.customer_url field contains the link to send or redirect the customer to.
- application/json
- Schema
- Example (from schema)
Schema
data object
The created order's key details.
Backd's unique identifier for the newly created order.
URL the merchant should redirect (or link) the customer to so they can select their payment terms.
Total order amount as recorded by Backd.
Initial status of the order in Backd's system.
The merchant's order identifier echoed back.
ISO 8601 timestamp of order creation.
True if Backd successfully sent an order-link email to the customer (only possible when customer_email and notify_customer were provided).
status object
{
"data": {
"backd_order_id": "BO-20260416-0001",
"customer_url": "https://widget.bnpl.backd.com/order/BO-20260416-0001",
"order_total": 9150,
"status": "new",
"merchant_order_id": "JKLMO4321",
"create_date": "2026-04-16 10:30:00",
"notified_customer": false
},
"message": "Initialize Merchant Success",
"status": {
"type": "success",
"code": 200
},
"error": false
}
Bad request — a required field is missing or invalid, the merchant credentials are wrong, or the origin URL is not whitelisted.
- application/json
- Schema
- Example (from schema)
Schema
status object
{
"message": "Merchant not found.",
"status": {
"type": "fail",
"code": 400
},
"error": true
}
Unexpected server error.
- application/json
- Schema
- Example (from schema)
Schema
status object
{
"message": "Internal server error.",
"status": {
"type": "fail",
"code": 500
},
"error": true
}