📄️ Introduction
API to be used by merchant for post order management. Merchant will manage customer orders after the customer has successfully completed their order using the BNPL widget. Have a look at the [Status Flow](/docs/frontend-api/bnpl-widget/status-flow) for context of order statuses.
📄️ API Authentication Guide
This API utilizes HTTP Basic Access Authentication, requiring a public key (username) and a secret key (password) for all requests. These credentials are passed via the Authorization HTTP header.
📄️ cancel_order
The merchant sends a request to this endpoint to cancel an order. This can only be done when the order has been placed ('order_placed').
📄️ confirm_order
The merchant sends a request to this endpoint to confirm an order. This can only be done when the order has been placed ('order_placed').
📄️ 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.
📄️ delete_refund
The merchant sends a request to this endpoint to delete (decline) the active refund request on an order. This can only be done when the order has been confirmed ('order_confirmed') and there is an active (non-locked) refund request.
📄️ find_order
The merchant sends a request to this endpoint to get the details of an order including the status of the order e.g. 'order_placed', 'order_confirmed', 'refund'.
📄️ order_placed
The merchant sends a request to this endpoint to confirm receipt of the successful order (after customer onSuccess in BNPL Widget) and sharing their unique identifier for the order (merchant_order_id). The order can now be placed in the merchant system.
📄️ refund
The merchant sends a request to this endpoint to refund an order partially or in full. This can only be done when the order has been confirmed ('order_confirmed').
📄️ update_order
The merchant sends a request to this endpoint to update any order order details. If increasing the `order_total`, a check will be done to see if the increase is within the limit the merchant has agreed upon. An update can only occur if order has been placed ('order_placed'). Once an order has been confirmed ('order_confirmed') no updates can be made to the order details. Have a look at the [Status Flow](/docs/frontend-api/bnpl-widget/status-flow) for context of order statuses.